Bug #101266 | Compression changes in 5.7.32 break backwards compatibility | ||
---|---|---|---|
Submitted: | 22 Oct 2020 0:40 | Modified: | 28 Jan 2021 18:33 |
Reporter: | Marcelo Altmann (OCA) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S2 (Serious) |
Version: | 5.7.32 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[22 Oct 2020 0:40]
Marcelo Altmann
[22 Oct 2020 5:52]
MySQL Verification Team
Hello Marcelo, Thank you for the report and feedback. Verified as described. Thanks, Umesh
[22 Oct 2020 5:54]
MySQL Verification Team
- 5.7.32 rm -rf 101266/ bin/mysqld --initialize-insecure --basedir=$PWD --datadir=$PWD/101266 --log-error-verbosity=3 bin/mysqld --no-defaults --basedir=$PWD --datadir=$PWD/101266 --core-file --socket=/tmp/mysql_ushastry.sock --port=3333 --log-error=$PWD/101266/log.err --log-error-verbosity=3 --secure-file-priv="" --skip-name-resolve --performance-schema=ON 2>&1 & bin/mysql -uroot -S /tmp/mysql_ushastry.sock Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.32 MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database test; Query OK, 1 row affected (0.00 sec) mysql> use test Database changed mysql> CREATE TABLE t1 (c1 INT) COMPRESSION="zlib"; Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO t1 VALUES(1); Query OK, 1 row affected (0.01 sec) mysql> shutdown; Query OK, 0 rows affected (0.00 sec) mysql> \q Bye cd ../mysql-5.7.31 bin/mysqld --no-defaults --basedir=$PWD --datadir=/export/umesh/server/binaries/GABuilds/mysql-5.7.32/101266 --core-file --socket=/tmp/mysql_ushastry.sock --port=3333 --log-error=/export/umesh/server/binaries/GABuilds/mysql-5.7.32/101266/log.err --log-error-verbosity=3 --secure-file-priv="" --skip-name-resolve --performance-schema=ON 2>&1 & [1]+ Aborted (core dumped) bin/mysqld --no-defaults --basedir=$PWD --datadir=/export/umesh/server/binaries/GABuilds/mysql-5.7.32/101266 --core-file --socket=/tmp/mysql_ushastry.sock --port=3333 --log-error=/export/umesh/server/binaries/GABuilds/mysql-5.7.32/101266/log.err --log-error-verbosity=3 --secure-file-priv="" --skip-name-resolve --performance-schema=ON 2>&1 (gdb) bt #0 0x00007fcdb66b9771 in pthread_kill () from /lib64/libpthread.so.0 #1 0x0000000000802a33 in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/sql/signal_handler.cc:227 #2 <signal handler called> #3 0x00007fcdb50b25d7 in raise () from /lib64/libc.so.6 #4 0x00007fcdb50b3cc8 in abort () from /lib64/libc.so.6 #5 0x00000000007f1abe in ut_dbg_assertion_failed (expr=0x17f9770 "req_type.is_dblwr_recover() || err == DB_SUCCESS", file=<optimized out>, line=5826) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/ut/ut0dbg.cc:75 #6 0x00000000013a1c48 in fil_io (type=..., sync=true, page_id=..., page_size=..., byte_offset=140520783329824, len=16384, buf=0x7fcda30cc000, message=0x7fcda29ce988) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/fil/fil0fil.cc:5826 #7 0x00000000013584f6 in buf_read_page_low (err=0x7fcd8b5fbcbc, sync=true, type=192, mode=<optimized out>, page_id=..., page_size=..., unzip=false) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/buf/buf0rea.cc:203 #8 0x0000000001358d6b in buf_read_page_background (page_id=..., page_size=..., sync=<optimized out>) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/buf/buf0rea.cc:491 #9 0x0000000001347b33 in buf_load () at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/buf/buf0dump.cc:689 #10 0x0000000001349155 in buf_dump_thread (arg=<optimized out>) at /export/home/pb2/build/sb_0-39489236-1591101761.33/mysql-5.7.31/storage/innobase/buf/buf0dump.cc:787 #11 0x00007fcdb66b4df5 in start_thread () from /lib64/libpthread.so.0 #12 0x00007fcdb517360d in clone () from /lib64/libc.so.6 (gdb)
[28 Jan 2021 18:33]
Daniel Price
Posted by developer: The workaround was added to: https://dev.mysql.com/doc/refman/5.7/en/downgrading-to-previous-series.html#downgrade-inno... The addition should appear online soon. Thank you for the bug report.
[28 Jan 2021 18:36]
Daniel Price
Posted by developer: "A new compression version used by the InnoDB page compression feature was added in MySQL 5.7.32. The new compression version is not compatible with earlier MySQL releases. Creating a page compressed table in MySQL 5.7.32 or higher and accessing the table after downgrading to a release earlier than MySQL 5.7.32 causes a failure. As a workaround, uncompress such tables before downgrading. To uncompress a table, run ALTER TABLE tbl_name COMPRESSION='None' and OPTIMIZE TABLE."