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_per_table = ON;
SHOW VARIABLES LIKE 'innodb_encrypt%';
......@@ -11,13 +12,13 @@ create database innodb_encrypted_1;
use innodb_encrypted_1;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
set autocommit=0;
set autocommit=1;
commit work;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
# should be 100
SELECT COUNT(*) FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_ENCRYPTION WHERE NAME LIKE 'innodb_encrypted%';
COUNT(*)
......@@ -87,47 +88,47 @@ Innodb_pages0_read 3
# Restart Success!
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
use test;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
use innodb_encrypted_1;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
use innodb_encrypted_2;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
use innodb_encrypted_3;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
use innodb_encrypted_1;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 3
Innodb_pages0_read 1
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 103
Innodb_pages0_read 101
use innodb_encrypted_2;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 103
Innodb_pages0_read 101
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 203
Innodb_pages0_read 201
use innodb_encrypted_3;
show status like 'innodb_pages0_read%';
Variable_name Value
Innodb_pages0_read 203
Innodb_pages0_read 201
show status like 'innodb_pages0_read%';
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%';
COUNT(*)
100
......
......@@ -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`;
--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_per_table = ON;
......@@ -29,7 +33,8 @@ let $tables = 100;
--disable_query_log
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;
let $rows = 100;
while($rows)
......@@ -64,7 +69,8 @@ set autocommit=0;
let $tables = 100;
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;
let $rows = 100;
while($rows)
......@@ -100,7 +106,8 @@ set autocommit=0;
let $tables = 100;
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;
let $rows = 100;
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