Bug #88150 | 'Undo log record is too big.' error occurring in very narrow range of str length | ||
---|---|---|---|
Submitted: | 19 Oct 2017 13:08 | Modified: | 20 Oct 2017 10:19 |
Reporter: | Geoff Montee | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 5.5, 5.6, 5.7, 5.5.57, 5.6.38, 5.7.20 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | BLOB, innodb, undo |
[19 Oct 2017 13:08]
Geoff Montee
[19 Oct 2017 13:10]
Geoff Montee
Run this script to reproduce the issue.
Attachment: undo_log_rec_too_big_15451.sql (application/octet-stream, text), 29.76 KiB.
[20 Oct 2017 10:19]
MySQL Verification Team
Hello Geoff, Thank you for the report and test case. Observed this with 5.5.57, 5.6.38 and 5.7.20. Thanks, Umesh
[20 Oct 2017 10:20]
MySQL Verification Team
-- 5.7.20 rm -rf 88150 bin/mysqld --initialize-insecure --basedir=$PWD --datadir=$PWD/88150 bin/mysqld --innodb_file_format='Antelope' --basedir=$PWD --datadir=$PWD/88150 --core-file --socket=/tmp/mysql_ushastry.sock --port=3306 --log-error=$PWD/88150/log.err 2>&1 & [umshastr@hod03]/export/umesh/server/binaries/GABuilds/mysql-5.7.20: bin/mysql -uroot -S /tmp/mysql_ushastry.sock test < undo_log_rec_too_big_15451.sql Inserting new row Inserting new row LENGTH(a_str_13) LENGTH(a_str_18) 3962 3962 Next update should fail (length >= 3962 && length <= 4030) Next update should fail (length >= 3962 && length <= 4030) ERROR 1713 (HY000) at line 153: Undo log record is too big. -- 5.6.38 rm -rf 88150 scripts/mysql_install_db --basedir=$PWD --datadir=$PWD/88150 bin/mysqld --innodb_file_format='Antelope' --basedir=$PWD --datadir=$PWD/88150 --core-file --socket=/tmp/mysql_ushastry.sock --port=3306 --log-error=$PWD/88150/log.err 2>&1 & [umshastr@hod03]/export/umesh/server/binaries/GABuilds/mysql-5.6.38: bin/mysql -uroot -S /tmp/mysql_ushastry.sock test < ../mysql-5.7.20/undo_log_rec_too_big_15451.sql Inserting new row Inserting new row LENGTH(a_str_13) LENGTH(a_str_18) 3962 3962 Next update should fail (length >= 3962 && length <= 4030) Next update should fail (length >= 3962 && length <= 4030) ERROR 1713 (HY000) at line 153: Undo log record is too big. -- 5.5.57 rm -rf 88150 scripts/mysql_install_db --basedir=$PWD --datadir=$PWD/88150 bin/mysqld --innodb_file_format='Antelope' --basedir=$PWD --datadir=$PWD/88150 --core-file --socket=/tmp/mysql_ushastry.sock --port=3306 --log-error=$PWD/88150/log.err 2>&1 & [umshastr@hod03]/export/umesh/server/binaries/GABuilds/mysql-5.5.57: bin/mysql -uroot -S /tmp/mysql_ushastry.sock test < ../mysql-5.7.20/undo_log_rec_too_big_15451.sql Inserting new row Inserting new row LENGTH(a_str_13) LENGTH(a_str_18) 3962 3962 Next update should fail (length >= 3962 && length <= 4030) Next update should fail (length >= 3962 && length <= 4030) ERROR 1713 (HY000) at line 153: Undo log record is too big.
[24 Oct 2017 11:47]
David Portabella
I have the same error, although i am not sure it is the same issue. the error happens with row_format dynamic or compact; the succeeds with row_format to compressed or redundant. i provide a sql file to reproduce;
[24 Oct 2017 11:48]
David Portabella
file to reproduce the error
Attachment: aa5.sql (application/octet-stream, text), 12.19 KiB.
[5 Jul 2023 16:19]
Vladimir Kuzmov
In my case it happened when trying to update single TEXT field. However, I removed the index and it works as expected.