Commit 4b05d60e authored by Marko Mäkelä's avatar Marko Mäkelä

Make encryption.innodb_lotoftables more robust.

Perform a slow shutdown at the start of the test, and create all
InnoDB tables with STATS_PERSISTENT=0, so that any I/O related to
background tasks (change buffer merge, purge, persistent statistics)
should be eliminated.
parent 59ea6456
SET GLOBAL innodb_fast_shutdown=0;
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_per_table = ON;
SHOW VARIABLES LIKE 'innodb_encrypt%'; SHOW VARIABLES LIKE 'innodb_encrypt%';
...@@ -11,13 +12,13 @@ create database innodb_encrypted_1; ...@@ -11,13 +12,13 @@ create database innodb_encrypted_1;
use innodb_encrypted_1; use innodb_encrypted_1;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
set autocommit=0; set autocommit=0;
set autocommit=1; set autocommit=1;
commit work; commit work;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
# should be 100 # should be 100
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%'; SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
COUNT(*) COUNT(*)
...@@ -87,47 +88,47 @@ Innodb_pages0_read 3 ...@@ -87,47 +88,47 @@ Innodb_pages0_read 3
# Restart Success! # Restart Success!
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
use test; use test;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
use innodb_encrypted_1; use innodb_encrypted_1;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
use innodb_encrypted_2; use innodb_encrypted_2;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
use innodb_encrypted_3; use innodb_encrypted_3;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
use innodb_encrypted_1; use innodb_encrypted_1;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 3 Innodb_pages0_read 1
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 103 Innodb_pages0_read 101
use innodb_encrypted_2; use innodb_encrypted_2;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 103 Innodb_pages0_read 101
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 203 Innodb_pages0_read 201
use innodb_encrypted_3; use innodb_encrypted_3;
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 203 Innodb_pages0_read 201
show status like 'innodb_pages0_read%'; show status like 'innodb_pages0_read%';
Variable_name Value Variable_name Value
Innodb_pages0_read 303 Innodb_pages0_read 301
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%'; SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE MIN_KEY_VERSION = 0 AND NAME LIKE 'innodb_encrypted%';
COUNT(*) COUNT(*)
100 100
......
...@@ -11,6 +11,10 @@ let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`; ...@@ -11,6 +11,10 @@ let $innodb_file_per_table_orig = `SELECT @@innodb_file_per_table`;
let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`; let $innodb_encryption_threads_orig = `SELECT @@global.innodb_encryption_threads`;
--enable_query_log --enable_query_log
# empty the change buffer and the undo logs to avoid extra reads
SET GLOBAL innodb_fast_shutdown=0;
--source include/restart_mysqld.inc
SET GLOBAL innodb_file_format = `Barracuda`; SET GLOBAL innodb_file_format = `Barracuda`;
SET GLOBAL innodb_file_per_table = ON; SET GLOBAL innodb_file_per_table = ON;
...@@ -29,7 +33,8 @@ let $tables = 100; ...@@ -29,7 +33,8 @@ let $tables = 100;
--disable_query_log --disable_query_log
while ($tables) while ($tables)
{ {
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb; eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
stats_persistent=0;
commit; commit;
let $rows = 100; let $rows = 100;
while($rows) while($rows)
...@@ -64,7 +69,8 @@ set autocommit=0; ...@@ -64,7 +69,8 @@ set autocommit=0;
let $tables = 100; let $tables = 100;
while ($tables) while ($tables)
{ {
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb encrypted=yes; eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
stats_persistent=0 encrypted=yes;
commit; commit;
let $rows = 100; let $rows = 100;
while($rows) while($rows)
...@@ -100,7 +106,8 @@ set autocommit=0; ...@@ -100,7 +106,8 @@ set autocommit=0;
let $tables = 100; let $tables = 100;
while ($tables) while ($tables)
{ {
eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb encrypted=no; eval create table t_$tables (a int not null primary key, b varchar(200)) engine=innodb
stats_persistent=0 encrypted=no;
commit; commit;
let $rows = 100; let $rows = 100;
while($rows) while($rows)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment