1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-12903: encryption.innodb_encryption_discard_import fails in buildbot with FOUND vs NOT FOUND

Wait until rotation has ended and shutdown before grep to make sure
that dirty pages are on datafiles.
This commit is contained in:
Jan Lindström
2018-04-11 14:06:29 +03:00
parent 93aded05ea
commit 2f1f160979
2 changed files with 24 additions and 5 deletions

View File

@ -70,6 +70,8 @@ NOT FOUND /foobar/ in t1.ibd
NOT FOUND /temp/ in t2.ibd NOT FOUND /temp/ in t2.ibd
# t3 ... on expecting NOT FOUND # t3 ... on expecting NOT FOUND
NOT FOUND /barfoo/ in t3.ibd NOT FOUND /barfoo/ in t3.ibd
SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON;
ALTER TABLE t1 ENGINE InnoDB; ALTER TABLE t1 ENGINE InnoDB;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
Table Create Table Table Create Table

View File

@ -37,10 +37,12 @@ set autocommit=1;
--echo # Wait max 10 min for key encryption threads to encrypt all spaces --echo # Wait max 10 min for key encryption threads to encrypt all spaces
--let $wait_timeout= 600 --let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 --let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING <> 0
--source include/wait_condition.inc --source include/wait_condition.inc
--sleep 5 # shutdown so that grep is safe
--source include/shutdown_mysqld.inc
--echo # tablespaces should be now encrypted --echo # tablespaces should be now encrypted
--let SEARCH_PATTERN=foobar --let SEARCH_PATTERN=foobar
--echo # t1 yes on expecting NOT FOUND --echo # t1 yes on expecting NOT FOUND
@ -55,6 +57,8 @@ set autocommit=1;
-- let SEARCH_FILE=$t3_IBD -- let SEARCH_FILE=$t3_IBD
-- source include/search_pattern_in_file.inc -- source include/search_pattern_in_file.inc
--source include/start_mysqld.inc
--list_files $MYSQLD_DATADIR/test --list_files $MYSQLD_DATADIR/test
FLUSH TABLES t1, t2, t3 FOR EXPORT; FLUSH TABLES t1, t2, t3 FOR EXPORT;
perl; perl;
@ -81,7 +85,9 @@ SELECT COUNT(1) FROM t2;
ALTER TABLE t3 IMPORT TABLESPACE; ALTER TABLE t3 IMPORT TABLESPACE;
SELECT COUNT(1) FROM t3; SELECT COUNT(1) FROM t3;
--sleep 5 # shutdown so that grep is safe
--source include/shutdown_mysqld.inc
--echo # tablespaces should remain encrypted after import --echo # tablespaces should remain encrypted after import
--let SEARCH_PATTERN=foobar --let SEARCH_PATTERN=foobar
--echo # t1 yes on expecting NOT FOUND --echo # t1 yes on expecting NOT FOUND
@ -96,6 +102,13 @@ SELECT COUNT(1) FROM t3;
-- let SEARCH_FILE=$t3_IBD -- let SEARCH_FILE=$t3_IBD
-- source include/search_pattern_in_file.inc -- source include/search_pattern_in_file.inc
--source include/start_mysqld.inc
--disable_warnings
SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON;
--enable_warnings
ALTER TABLE t1 ENGINE InnoDB; ALTER TABLE t1 ENGINE InnoDB;
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
ALTER TABLE t2 ENGINE InnoDB; ALTER TABLE t2 ENGINE InnoDB;
@ -112,7 +125,9 @@ SELECT COUNT(1) FROM t1;
SELECT COUNT(1) FROM t2; SELECT COUNT(1) FROM t2;
SELECT COUNT(1) FROM t3; SELECT COUNT(1) FROM t3;
--sleep 5 # shutdown so that grep is safe
--source include/shutdown_mysqld.inc
--echo # Tablespaces should be encrypted after restart --echo # Tablespaces should be encrypted after restart
--let SEARCH_PATTERN=foobar --let SEARCH_PATTERN=foobar
--echo # t1 yes on expecting NOT FOUND --echo # t1 yes on expecting NOT FOUND
@ -127,9 +142,11 @@ SELECT COUNT(1) FROM t3;
-- let SEARCH_FILE=$t3_IBD -- let SEARCH_FILE=$t3_IBD
-- source include/search_pattern_in_file.inc -- source include/search_pattern_in_file.inc
--source include/start_mysqld.inc
--echo # Wait max 10 min for key encryption threads to encrypt all spaces --echo # Wait max 10 min for key encryption threads to encrypt all spaces
--let $wait_timeout= 600 --let $wait_timeout= 600
--let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 --let $wait_condition=SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND ROTATING_OR_FLUSHING <> 0
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Success! --echo # Success!