Skip to content

When convert to utf8mb4 command fails, enable tracking again #18441

@tsteur

Description

@tsteur

When running the core:convert-to-utf8mb4 command, this command may fail eg because of a reason like below:

Error: {"message":"SQLSTATE[42000]: Syntax error or access violation: 1118 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","file":"/var/www/html/libs/Zend/Db/Adapter/Pdo/Abstract.php","line":280,"backtrace":" on /var/www/html/libs/Zend/Db/Adapter/Pdo/Abstract.php(280)\n#0 /var/www/html/plugins/CoreUpdater/Commands/ConvertToUtf8mb4.php(91):

Afterwards, the tracking is disabled because the command sets record_statistics=0 and only enables it if the command succeeds. If any query fails, we would also expect the setting to be enabled again.

It might otherwise take a user a few days that tracking may be disabled and then data is lost.

In some case we just got alerted instantly that tracking isn't working anymore and we thought there may be a DB issue when in reality tracking was simply disabled.

Metadata

Metadata

Assignees

Labels

BugFor errors / faults / flaws / inconsistencies etc.Help wantedBeginner friendly issues or issues where we'd highly appreciate community's help and involvement.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions