I believe I observed a similar failure when testing MDEV-13536.
I did touch this test in my work-around for MDEV-13542, maybe in vain, because this test is abruptly killing the server, not doing a clean shutdown and restart.
Looking at the server error log
http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-quantal-amd64/builds/6902/steps/test/logs/mysqld.1.err.4
I determined that this crash occurs on the first restart, after no_checkpoint_end.inc killed the server. This server startup is expected to fail, and it did fail:
--source ../../suite/innodb/include/no_checkpoint_end.inc
|
|
--echo # restart
|
--error 1
|
-- source include/start_mysqld.inc
|
The only problem here is that we got an unexpected message about decompression failure. There is only a suppression about a decryption failure:
call mtr.add_suppression("InnoDB: The page \[page id: space=[1-9][0-9]*, page number=[0-9]+\] in file test/t[1-4] cannot be decrypted");
|
The proper solution would seem to be to add the missing suppression.
The reason why this message is being issued should be that with MDEV-13536 (and MDEV-12288), purge now has more work to do, and thus more redo log records can be emitted before the crash. Purge would clear the DB_TRX_ID columns of each INSERT. Before MDEV-12288, purge did not have any access to any undo log generated by INSERT to an empty table.
I was not able to repeat the failure locally, even with some small tricks.
I believe I observed a similar failure when testing
MDEV-13536.I did touch this test in my work-around for MDEV-13542, maybe in vain, because this test is abruptly killing the server, not doing a clean shutdown and restart.
Looking at the server error log
http://buildbot.askmonty.org/buildbot/builders/kvm-bintar-quantal-amd64/builds/6902/steps/test/logs/mysqld.1.err.4
I determined that this crash occurs on the first restart, after no_checkpoint_end.inc killed the server. This server startup is expected to fail, and it did fail:
--source ../../suite/innodb/include/no_checkpoint_end.inc
--echo # restart
--error 1
-- source include/start_mysqld.inc
The only problem here is that we got an unexpected message about decompression failure. There is only a suppression about a decryption failure:
call mtr.add_suppression("InnoDB: The page \[page id: space=[1-9][0-9]*, page number=[0-9]+\] in file test/t[1-4] cannot be decrypted");
The proper solution would seem to be to add the missing suppression.
The reason why this message is being issued should be that with
MDEV-13536(andMDEV-12288), purge now has more work to do, and thus more redo log records can be emitted before the crash. Purge would clear the DB_TRX_ID columns of each INSERT. BeforeMDEV-12288, purge did not have any access to any undo log generated by INSERT to an empty table.I was not able to repeat the failure locally, even with some small tricks.