Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.14
-
None
Description
http://buildbot.askmonty.org/buildbot/builders/win32-debug/builds/8003/steps/test/logs/stdio
mariabackup.unsupported_redo 'innodb' w2 [ fail ]
|
Test ended at 2018-03-26 12:49:32
|
|
CURRENT_TEST: mariabackup.unsupported_redo
|
mysqltest: At line 26: command "$XTRABACKUP --defaults-file=$MYSQLTEST_VARDIR/my.cnf --backup --target-dir=$basedir" succeeded - should have failed with errno 1...
|
|
The result from queries just before the failure was:
|
call mtr.add_suppression("InnoDB: New log files created");
|
call mtr.add_suppression("InnoDB: Operating system error number .* in a file operation");
|
call mtr.add_suppression("InnoDB: The error means the system cannot find the path specified");
|
call mtr.add_suppression("InnoDB: If you are installing InnoDB, remember that you must create directories yourself, InnoDB does not create them");
|
call mtr.add_suppression("InnoDB: Ignoring tablespace for `test`\\.`t21` because it could not be opened");
|
call mtr.add_suppression("InnoDB: Cannot open datafile for read-only: ");
|
call mtr.add_suppression("Table .* in the InnoDB data dictionary has tablespace id .*, but tablespace with that id or name does not exist");
|
CREATE TABLE t1(i INT PRIMARY KEY auto_increment, a int) ENGINE INNODB;
|
SET GLOBAL INNODB_FAST_SHUTDOWN = 0;
|
ALTER TABLE t1 FORCE, ALGORITHM=INPLACE;
|
# Fails during full backup
|
|
- saving 'D:/win32-debug/build/mysql-test/var/2/log/mariabackup.unsupported_redo-innodb/' to 'D:/win32-debug/build/mysql-test/var/log/mariabackup.unsupported_redo-innodb/'
|
Attachments
Issue Links
- is caused by
-
MDEV-14545 Backup fails due to MLOG_INDEX_LOAD record
-
- Closed
-
I believe that this is cause by one or two things:
In an attempt to prevent an extra checkpoint from occurring, the test is executing a slow shutdown and restart right before the ALTER TABLE. This is not a full guarantee. Perhaps a slightly better guarantee would be to use a debug-only variable to force a checkpoint right before the ALTER TABLE, but then the test would require a debug server to run. We want to avoid unnecessary debug instrumentation and test the release builds too.
It seems that this test needs to implement something similar to no_checkpoint_end.inc, so that the test can be skipped if an unwanted checkpoint occurred. This would involve the following:
It could be simplest to use no_checkpoint_end.inc. Maybe we could let no_checkpoint_kill=1 to skip the kill_mysqld.inc and start_mysqld.inc in that file. We’d also need --let CLEANUP_IF_CHECKPOINT=DROP TABLE t1; of course.