API Gateway - Container Gateway deployed failed with "Unexpected error running Liquibase"
search cancel

API Gateway - Container Gateway deployed failed with "Unexpected error running Liquibase"

book

Article ID: 227991

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

The deployment of container Gateway on Kubernetes 1.2 version platform failed with the following error:

Waiting for one of the databases to come up...

Liquibase 'status' Successful

Unexpected error running Liquibase: Error executing SQL CREATE TABLE ssg.resource_entry (goid BINARY(16) NOT NULL, version INT(10) NOT NULL, description VARCHAR(2048) NULL, uri VARCHAR(4096) NOT NULL, uri_hash VARCHAR(128) NOT NULL, type VARCHAR(32) NOT NULL, content_type VARCHAR(1024) NOT NULL, content MEDIUMTEXT NOT NULL, resource_key1 VARCHAR(4096) NULL, resource_key2 VARCHAR(4096) NULL, resource_key3 VARCHAR(4096) NULL, security_zone_goid BINARY(16) NULL): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs

Environment

Release : 10.0, 10.1

Component : API GATEWAY

Cause

The error message "Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535" shows up when the character set for the MySQL is to UTF8MB4. 

Resolution

Set the DEFAULT_CHARACTER_SET_NAME value for the SSG DB to utf8 to resolve this issue.

You can run the following MySQL queries to check the character set:

show variables like '%character%';

SELECT SCHEMA_NAME,DEFAULT_CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='ssg';

Additional Information

Some of the AWS RDS MySQL instances, by default, have the character set as UTF8MB4.