[Commits] 28b2896a434: Fixed test failure on innodb_encryption

jan jan.lindstrom at mariadb.com
Thu Aug 31 09:18:46 EEST 2017


revision-id: 28b2896a434670d7b03c4a5e3fba8b4f3872a297 (mariadb-10.1.26-22-g28b2896a434)
parent(s): b29f26d774033d9dda6c1a519657f1092c964f12
author: Jan Lindström
committer: Jan Lindström
timestamp: 2017-08-31 09:15:23 +0300
message:

Fixed test failure on innodb_encryption

After MDEV-13583: Improvements for MTR rebootstrap introduced in
MDEV-12042 bootsrap correctly creates mysql/innodb_table_stats
and mysql/innodb_index_stats InnoDB tables before innodb_encryption
test starts. These tables are also encrypted or decrypted, thus
we need to wait also these tables (if not we could randomly
get different results as system tablespace and these tables
are encrypted or decrypted in parallel).

---
 mysql-test/suite/encryption/disabled.def               |  2 +-
 mysql-test/suite/encryption/r/innodb_encryption.result | 12 ++++++++++--
 mysql-test/suite/encryption/t/innodb_encryption.test   |  7 ++-----
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/mysql-test/suite/encryption/disabled.def b/mysql-test/suite/encryption/disabled.def
index 49f7f94729d..abbb82d51f6 100644
--- a/mysql-test/suite/encryption/disabled.def
+++ b/mysql-test/suite/encryption/disabled.def
@@ -12,4 +12,4 @@
 
 innodb_scrub            : MDEV-8139 scrubbing does not work reliably
 innodb_scrub_background : MDEV-8139 scrubbing does not work reliably
-innodb_encryption       : an adjustment for MDEV-13583 is needed
+
diff --git a/mysql-test/suite/encryption/r/innodb_encryption.result b/mysql-test/suite/encryption/r/innodb_encryption.result
index 9194412133d..5909674c21c 100644
--- a/mysql-test/suite/encryption/r/innodb_encryption.result
+++ b/mysql-test/suite/encryption/r/innodb_encryption.result
@@ -1,5 +1,3 @@
-call mtr.add_suppression("InnoDB: New log files created");
-call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables.");
 SET @start_global_value = @@global.innodb_encryption_threads;
 SHOW VARIABLES LIKE 'innodb_encrypt%';
 Variable_name	Value
@@ -14,6 +12,8 @@ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_
 NAME
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
 ./ibdata1
 # Success!
 # Now turn off encryption and wait for threads to decrypt everything
@@ -21,6 +21,8 @@ SET GLOBAL innodb_encrypt_tables = off;
 # Wait max 10 min for key encryption threads to encrypt all spaces
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
 NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
 ./ibdata1
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 NAME
@@ -33,6 +35,8 @@ SET GLOBAL innodb_encrypt_tables = on;
 # Wait 15s to check that nothing gets encrypted
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
 NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
 ./ibdata1
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 NAME
@@ -44,6 +48,8 @@ SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_
 NAME
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
 ./ibdata1
 # Success!
 # Restart mysqld --innodb_encrypt_tables=0 --innodb_encryption_threads=0
@@ -56,6 +62,8 @@ innodb_encryption_rotation_iops	100
 innodb_encryption_threads	0
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 NAME
+mysql/innodb_table_stats
+mysql/innodb_index_stats
 ./ibdata1
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
 NAME
diff --git a/mysql-test/suite/encryption/t/innodb_encryption.test b/mysql-test/suite/encryption/t/innodb_encryption.test
index aab8c56f072..35c2b3695a9 100644
--- a/mysql-test/suite/encryption/t/innodb_encryption.test
+++ b/mysql-test/suite/encryption/t/innodb_encryption.test
@@ -8,9 +8,6 @@
 # embedded does not support restart
 -- source include/not_embedded.inc
 
-call mtr.add_suppression("InnoDB: New log files created");
-call mtr.add_suppression("InnoDB: Creating foreign key constraint system tables.");
-
 SET @start_global_value = @@global.innodb_encryption_threads;
 
 SHOW VARIABLES LIKE 'innodb_encrypt%';
@@ -19,7 +16,7 @@ SET GLOBAL innodb_encrypt_tables = ON;
 
 --echo # Wait max 10 min for key encryption threads to encrypt all spaces
 --let $wait_timeout= 600
---let $wait_condition=SELECT COUNT(*) >= 1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--let $wait_condition=SELECT COUNT(*) >= 3 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 --source include/wait_condition.inc
 
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;
@@ -62,7 +59,7 @@ SET GLOBAL innodb_encryption_threads=@start_global_value;
 
 --echo # Wait max 10 min for key encryption threads to encrypt all spaces
 --let $wait_timeout= 600
---let $wait_condition=SELECT COUNT(*) >=1 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
+--let $wait_condition=SELECT COUNT(*) >=3 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION <> 0;
 --source include/wait_condition.inc
 
 SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0;


More information about the commits mailing list