| Bug #113952 | Updating multiple mediumtext columns causes "Undo log record is too big." error | ||
|---|---|---|---|
| Submitted: | 11 Feb 2024 7:02 | Modified: | 12 Feb 2024 9:17 |
| Reporter: | Shinji Takeuchi | Email Updates: | |
| Status: | Verified | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
| Version: | 8.0, 8.3, 8.0.36 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | UPDATE | ||
[12 Feb 2024 9:17]
MySQL Verification Team
Hello Shinji Takeuchi, Thank you for the report and test case. regards, Umesh
[16 Feb 2024 11:25]
MySQL Verification Team
Bug #114015 marked as duplicate of this one

Description: Updating multiple indexed mediumtext columns causes "Undo log record is too big". Happens in certain length ranges ( around 7500 ). workaround : It can be avoided by doing multiple UPDATES. UPDATE `test` SET `mt1` = 'test' WHERE `id` = 1; UPDATE `test` SET `mt2` = 'test' WHERE `id` = 1; How to repeat: CREATE TABLE `test` ( `id` bigint NOT NULL AUTO_INCREMENT, `mt1` mediumtext, `mt2` mediumtext, PRIMARY KEY (`id`), KEY `idx_mt1` (`mt1`(191)), KEY `idx_mt2` (`mt2`(191)) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; INSERT INTO `test` ( `mt1`, `mt2` ) VALUES ( repeat('a', 7500), repeat('b', 7500) ); UPDATE `test` SET `mt1` = 'test', `mt2` = 'test' WHERE `id` = 1; cause error "Undo log record is too big." Suggested fix: Multiple mediumtext columns updates are handled successfully.