diff options
Diffstat (limited to 'mysql-test/suite/encryption')
-rw-r--r-- | mysql-test/suite/encryption/disabled.def | 14 | ||||
-rw-r--r-- | mysql-test/suite/encryption/r/innodb_scrub.result | 138 | ||||
-rw-r--r-- | mysql-test/suite/encryption/r/innodb_scrub_background.result | 160 | ||||
-rw-r--r-- | mysql-test/suite/encryption/t/innodb_scrub.opt | 7 | ||||
-rw-r--r-- | mysql-test/suite/encryption/t/innodb_scrub.test | 147 | ||||
-rw-r--r-- | mysql-test/suite/encryption/t/innodb_scrub_background.opt | 7 | ||||
-rw-r--r-- | mysql-test/suite/encryption/t/innodb_scrub_background.test | 170 |
7 files changed, 0 insertions, 643 deletions
diff --git a/mysql-test/suite/encryption/disabled.def b/mysql-test/suite/encryption/disabled.def deleted file mode 100644 index d92d3495cb8..00000000000 --- a/mysql-test/suite/encryption/disabled.def +++ /dev/null @@ -1,14 +0,0 @@ -############################################################################## -# -# List the test cases that are to be disabled temporarily. -# -# Separate the test case name and the comment with ':'. -# -# <testcasename> : BUG#<xxxx> <date disabled> <disabler> <comment> -# -# Do not use any TAB characters for whitespace. -# -############################################################################## - -innodb_scrub : MDEV-8139 scrubbing does not work reliably -innodb_scrub_background : MDEV-8139 scrubbing does not work reliably diff --git a/mysql-test/suite/encryption/r/innodb_scrub.result b/mysql-test/suite/encryption/r/innodb_scrub.result deleted file mode 100644 index 6e8febc762d..00000000000 --- a/mysql-test/suite/encryption/r/innodb_scrub.result +++ /dev/null @@ -1,138 +0,0 @@ -create table snapshot_status engine = myisam -select * from information_schema.global_status -where variable_name like 'innodb_scrub%'; -# MDEV-8139 Fix scrubbing tests -# FIXME: Add index(b) to each table; ensure that undo logs are scrubbed. -create table delete_3 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compressed; -delete from delete_3; -create table delete_rollback_delete_3 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compressed; -begin; -delete from delete_rollback_delete_3; -rollback; -delete from delete_rollback_delete_3; -create table insert_rollback_3 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compressed; -begin; -rollback; -create table delete_2 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compact; -delete from delete_2; -create table delete_rollback_delete_2 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compact; -begin; -delete from delete_rollback_delete_2; -rollback; -delete from delete_rollback_delete_2; -create table insert_rollback_2 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=compact; -begin; -rollback; -create table delete_1 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=redundant; -delete from delete_1; -create table delete_rollback_delete_1 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=redundant; -begin; -delete from delete_rollback_delete_1; -rollback; -delete from delete_rollback_delete_1; -create table insert_rollback_1 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=redundant; -begin; -rollback; -create table delete_0 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=dynamic; -delete from delete_0; -create table delete_rollback_delete_0 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=dynamic; -begin; -delete from delete_rollback_delete_0; -rollback; -delete from delete_rollback_delete_0; -create table insert_rollback_0 ( -a int auto_increment primary key, -b varchar(256), -c text) engine = innodb row_format=dynamic; -begin; -rollback; -SET GLOBAL innodb_fast_shutdown=0; -# delete_3.ibd -# delete_rollback_delete_3.ibd -# insert_rollback_3.ibd -# delete_2.ibd -# delete_rollback_delete_2.ibd -# insert_rollback_2.ibd -# delete_1.ibd -# delete_rollback_delete_1.ibd -# insert_rollback_1.ibd -# delete_0.ibd -# delete_rollback_delete_0.ibd -# insert_rollback_0.ibd -check table delete_3, delete_rollback_delete_3, insert_rollback_3; -Table Op Msg_type Msg_text -test.delete_3 check status OK -test.delete_rollback_delete_3 check status OK -test.insert_rollback_3 check status OK -drop table delete_3, delete_rollback_delete_3, insert_rollback_3; -check table delete_2, delete_rollback_delete_2, insert_rollback_2; -Table Op Msg_type Msg_text -test.delete_2 check status OK -test.delete_rollback_delete_2 check status OK -test.insert_rollback_2 check status OK -drop table delete_2, delete_rollback_delete_2, insert_rollback_2; -check table delete_1, delete_rollback_delete_1, insert_rollback_1; -Table Op Msg_type Msg_text -test.delete_1 check status OK -test.delete_rollback_delete_1 check status OK -test.insert_rollback_1 check status OK -drop table delete_1, delete_rollback_delete_1, insert_rollback_1; -check table delete_0, delete_rollback_delete_0, insert_rollback_0; -Table Op Msg_type Msg_text -test.delete_0 check status OK -test.delete_rollback_delete_0 check status OK -test.insert_rollback_0 check status OK -drop table delete_0, delete_rollback_delete_0, insert_rollback_0; -show variables like 'innodb_%scrub_data%'; -Variable_name Value -innodb_background_scrub_data_check_interval 3600 -innodb_background_scrub_data_compressed OFF -innodb_background_scrub_data_interval 604800 -innodb_background_scrub_data_uncompressed OFF -innodb_immediate_scrub_data_uncompressed ON -# verify that this test have not caused any background scrubbing -select ss.variable_name, gs.variable_value - ss.variable_value as variable_value -from snapshot_status ss, -information_schema.global_status gs -where ss.variable_name = gs.variable_name; -variable_name variable_value -INNODB_SCRUB_BACKGROUND_PAGE_REORGANIZATIONS 0 -INNODB_SCRUB_BACKGROUND_PAGE_SPLITS 0 -INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_MISSING_INDEX 0 -INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_OUT_OF_FILESPACE 0 -INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_UNDERFLOW 0 -INNODB_SCRUB_BACKGROUND_PAGE_SPLIT_FAILURES_UNKNOWN 0 -drop table snapshot_status; diff --git a/mysql-test/suite/encryption/r/innodb_scrub_background.result b/mysql-test/suite/encryption/r/innodb_scrub_background.result deleted file mode 100644 index 6a2f263d0a1..00000000000 --- a/mysql-test/suite/encryption/r/innodb_scrub_background.result +++ /dev/null @@ -1,160 +0,0 @@ -# -# immediate scrubbing is off -# background scrubbing is on -# -show variables like 'innodb_%scrub_data%'; -Variable_name Value -innodb_background_scrub_data_check_interval 3600 -innodb_background_scrub_data_compressed ON -innodb_background_scrub_data_interval 604800 -innodb_background_scrub_data_uncompressed ON -innodb_immediate_scrub_data_uncompressed OFF -# make sure spaces are checked quickly -SET GLOBAL innodb_background_scrub_data_check_interval=1; -create table delete_3 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compressed; -# Populate table with rows -delete from delete_3; -create table delete_rollback_delete_3 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compressed; -# Populate table with rows -begin; -delete from delete_rollback_delete_3; -rollback; -delete from delete_rollback_delete_3; -create table insert_rollback_3 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compressed; -# Populate table with rows -begin; -rollback; -create table delete_2 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compact; -# Populate table with rows -delete from delete_2; -create table delete_rollback_delete_2 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compact; -# Populate table with rows -begin; -delete from delete_rollback_delete_2; -rollback; -delete from delete_rollback_delete_2; -create table insert_rollback_2 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=compact; -# Populate table with rows -begin; -rollback; -create table delete_1 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=redundant; -# Populate table with rows -delete from delete_1; -create table delete_rollback_delete_1 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=redundant; -# Populate table with rows -begin; -delete from delete_rollback_delete_1; -rollback; -delete from delete_rollback_delete_1; -create table insert_rollback_1 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=redundant; -# Populate table with rows -begin; -rollback; -create table delete_0 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=dynamic; -# Populate table with rows -delete from delete_0; -create table delete_rollback_delete_0 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=dynamic; -# Populate table with rows -begin; -delete from delete_rollback_delete_0; -rollback; -delete from delete_rollback_delete_0; -create table insert_rollback_0 ( -a int auto_increment primary key, -b varchar(256), -c text, -index(b)) engine = innodb row_format=dynamic; -# Populate table with rows -begin; -rollback; -# start scrubbing threads -SET GLOBAL innodb_encryption_threads=5; -# Wait max 10 min for scrubbing -SET GLOBAL innodb_fast_shutdown=0; -# delete_3.ibd -# delete_rollback_delete_3.ibd -# insert_rollback_3.ibd -# delete_2.ibd -# delete_rollback_delete_2.ibd -# insert_rollback_2.ibd -# delete_1.ibd -# delete_rollback_delete_1.ibd -# insert_rollback_1.ibd -# delete_0.ibd -# delete_rollback_delete_0.ibd -# insert_rollback_0.ibd -check table delete_3, delete_rollback_delete_3, insert_rollback_3; -Table Op Msg_type Msg_text -test.delete_3 check status OK -test.delete_rollback_delete_3 check status OK -test.insert_rollback_3 check status OK -drop table delete_3, delete_rollback_delete_3, insert_rollback_3; -check table delete_2, delete_rollback_delete_2, insert_rollback_2; -Table Op Msg_type Msg_text -test.delete_2 check status OK -test.delete_rollback_delete_2 check status OK -test.insert_rollback_2 check status OK -drop table delete_2, delete_rollback_delete_2, insert_rollback_2; -check table delete_1, delete_rollback_delete_1, insert_rollback_1; -Table Op Msg_type Msg_text -test.delete_1 check status OK -test.delete_rollback_delete_1 check status OK -test.insert_rollback_1 check status OK -drop table delete_1, delete_rollback_delete_1, insert_rollback_1; -check table delete_0, delete_rollback_delete_0, insert_rollback_0; -Table Op Msg_type Msg_text -test.delete_0 check status OK -test.delete_rollback_delete_0 check status OK -test.insert_rollback_0 check status OK -drop table delete_0, delete_rollback_delete_0, insert_rollback_0; -show variables like 'innodb_%scrub_data%'; -Variable_name Value -innodb_background_scrub_data_check_interval 3600 -innodb_background_scrub_data_compressed ON -innodb_background_scrub_data_interval 604800 -innodb_background_scrub_data_uncompressed ON -innodb_immediate_scrub_data_uncompressed OFF diff --git a/mysql-test/suite/encryption/t/innodb_scrub.opt b/mysql-test/suite/encryption/t/innodb_scrub.opt deleted file mode 100644 index ef43b2a20a8..00000000000 --- a/mysql-test/suite/encryption/t/innodb_scrub.opt +++ /dev/null @@ -1,7 +0,0 @@ ---innodb-background-scrub-data-compressed=OFF ---innodb-background-scrub-data-uncompressed=OFF ---innodb-encrypt-tables=OFF ---innodb-encryption-threads=0 ---innodb-immediate-scrub-data-uncompressed=ON ---loose-innodb-debug-force-scrubbing=ON ---innodb-tablespaces-scrubbing diff --git a/mysql-test/suite/encryption/t/innodb_scrub.test b/mysql-test/suite/encryption/t/innodb_scrub.test deleted file mode 100644 index 3288ae9ce1c..00000000000 --- a/mysql-test/suite/encryption/t/innodb_scrub.test +++ /dev/null @@ -1,147 +0,0 @@ --- source include/have_innodb.inc --- source include/not_embedded.inc --- source include/have_example_key_management_plugin.inc - -let $MYSQLD_DATADIR=`select @@datadir`; -let INNODB_PAGE_SIZE= `select @@innodb_page_size`; - -create table snapshot_status engine = myisam -select * from information_schema.global_status -where variable_name like 'innodb_scrub_background%'; - -let $rowcount=500; -let $maxformatno= 4; -let $formatno= $maxformatno; - ---echo # MDEV-8139 Fix scrubbing tests ---echo # FIXME: Add index(b) to each table; ensure that undo logs are scrubbed. -let $tableformat= ( - a int auto_increment primary key, - b varchar(256), - c text) engine = innodb row_format; - -while ($formatno) -{ -dec $formatno; -let $format = `select case $formatno - when 0 then 'dynamic' - when 1 then 'redundant' - when 2 then 'compact' - when 3 then 'compressed' - end`; - -let $t= delete_$formatno; -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; ---disable_query_log -begin; -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('repairman', repeat('unicycle', 1000)); -} -commit; ---enable_query_log - -eval delete from $t; - -let $t= delete_rollback_delete_$formatno; -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; ---disable_query_log -begin; -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('breakhuman', repeat('bicycle', 1000)); -} -commit; ---enable_query_log - -begin; -eval delete from $t; -rollback; -eval delete from $t; - -let $t= insert_rollback_$formatno; - -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; -begin; ---disable_query_log -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('wonderwoman', repeat('tricycle', 1000)); -} ---enable_query_log - -rollback; -} - -SET GLOBAL innodb_fast_shutdown=0; --- source include/shutdown_mysqld.inc - -let SEARCH_ABORT= FOUND; -let SEARCH_PATTERN= (un|b|tr)icycle|(repair|breakhu|wonderwo)man; -let SEARCH_RANGE= 12582912; -let SEARCH_FILE= $MYSQLD_DATADIR/ibdata1; - -# We may randomly find copies of unscrubbed pages in the doublewrite buffer. -# Let us scrub the doublewrite buffer ourselves. -perl; -use Fcntl 'SEEK_SET'; -my $page_size = $ENV{INNODB_PAGE_SIZE}; -open(FILE, "+<", "$ENV{SEARCH_FILE}") or die "cannot open: $!\n"; -seek(FILE, $page_size * 64, SEEK_SET) or die "cannot seek: $!\n"; -print(FILE chr(0) x ($page_size * 128)) or die "cannot write: $!\n"; -close FILE or die "cannot close: $!\n";; -EOF - --- source include/search_pattern_in_file.inc - -let $formatno= $maxformatno; -while ($formatno) -{ -dec $formatno; - -let $t= delete_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -let $t= delete_rollback_delete_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -let $t= insert_rollback_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -} - --- source include/start_mysqld.inc - -let $formatno= $maxformatno; -while ($formatno) -{ -dec $formatno; - -let $t= delete_$formatno, delete_rollback_delete_$formatno, insert_rollback_$formatno; - -eval check table $t; -eval drop table $t; -} - -show variables like 'innodb_%scrub_data%'; - ---echo # verify that this test have not caused any background scrubbing ---sorted_result -select ss.variable_name, gs.variable_value - ss.variable_value as variable_value -from snapshot_status ss, - information_schema.global_status gs -where ss.variable_name = gs.variable_name; - -drop table snapshot_status; diff --git a/mysql-test/suite/encryption/t/innodb_scrub_background.opt b/mysql-test/suite/encryption/t/innodb_scrub_background.opt deleted file mode 100644 index 04987f4a3ad..00000000000 --- a/mysql-test/suite/encryption/t/innodb_scrub_background.opt +++ /dev/null @@ -1,7 +0,0 @@ ---innodb-immediate-scrub-data-uncompressed=OFF ---innodb-background-scrub-data-uncompressed=ON ---innodb-background-scrub-data-compressed=ON ---loose-innodb-debug-force-scrubbing=ON ---innodb-encryption-threads=0 ---innodb-encrypt-tables=OFF ---innodb-tablespaces-scrubbing diff --git a/mysql-test/suite/encryption/t/innodb_scrub_background.test b/mysql-test/suite/encryption/t/innodb_scrub_background.test deleted file mode 100644 index 3843e9d16eb..00000000000 --- a/mysql-test/suite/encryption/t/innodb_scrub_background.test +++ /dev/null @@ -1,170 +0,0 @@ --- source include/have_innodb.inc --- source include/not_embedded.inc --- source include/have_example_key_management_plugin.inc - -let $MYSQLD_DATADIR=`select @@datadir`; -let INNODB_PAGE_SIZE= `select @@innodb_page_size`; - ---echo # ---echo # immediate scrubbing is off ---echo # background scrubbing is on ---echo # -show variables like 'innodb_%scrub_data%'; - --- echo # make sure spaces are checked quickly -SET GLOBAL innodb_background_scrub_data_check_interval=1; - -let $rowcount=500; -let $maxformatno= 4; -let $formatno= $maxformatno; - -let $tableformat= ( - a int auto_increment primary key, - b varchar(256), - c text, - index(b)) engine = innodb row_format; - -while ($formatno) -{ -dec $formatno; -let $format = `select case $formatno - when 0 then 'dynamic' - when 1 then 'redundant' - when 2 then 'compact' - when 3 then 'compressed' - end`; - -let $t= delete_$formatno; -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; --- echo # Populate table with rows ---disable_query_log -begin; -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('unicycle', repeat('wonderwoman', 1000)); -} -commit; ---enable_query_log - -eval delete from $t; - -let $t= delete_rollback_delete_$formatno; - -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; --- echo # Populate table with rows ---disable_query_log -begin; -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('bicycle', repeat('repairman', 1000)); -} -commit; ---enable_query_log - -begin; -eval delete from $t; -rollback; -eval delete from $t; - -let $t= insert_rollback_$formatno; - -eval create table $t $tableformat=$format; - -let $numinserts = $rowcount; --- echo # Populate table with rows -begin; ---disable_query_log -while ($numinserts) -{ - dec $numinserts; - eval insert into $t(b,c) values ('tricycle', repeat('superhuman', 1000)); -} ---enable_query_log - -rollback; -} - --- echo # start scrubbing threads -SET GLOBAL innodb_encryption_threads=5; --- echo # Wait max 10 min for scrubbing -let $cnt=600; -while ($cnt) -{ - let $success=`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_SCRUBBING WHERE LAST_SCRUB_COMPLETED IS NULL AND (NAME LIKE 'test/%' OR SPACE = 0)`; - if ($success) - { - let $cnt=0; - } - if (!$success) - { - real_sleep 1; - dec $cnt; - } -} -if (!$success) -{ - SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES_SCRUBBING; - SHOW STATUS LIKE 'innodb_%scrub%'; - -- die Timeout waiting for background threads -} - -SET GLOBAL innodb_fast_shutdown=0; --- source include/shutdown_mysqld.inc - -let SEARCH_ABORT= FOUND; -let SEARCH_PATTERN= (un|b|tr)icycle|(repair|breakhu|wonderwo)man; -let SEARCH_RANGE= 12582912; -let SEARCH_FILE= $MYSQLD_DATADIR/ibdata1; - -# We may randomly find copies of unscrubbed pages in the doublewrite buffer. -# Let us scrub the doublewrite buffer ourselves. -perl; -use Fcntl 'SEEK_SET'; -my $page_size = $ENV{INNODB_PAGE_SIZE}; -open(FILE, "+<", "$ENV{SEARCH_FILE}") or die "cannot open: $!\n"; -seek(FILE, $page_size * 64, SEEK_SET) or die "cannot seek: $!\n"; -print(FILE chr(0) x ($page_size * 128)) or die "cannot write: $!\n"; -close FILE or die "cannot close: $!\n";; -EOF - --- source include/search_pattern_in_file.inc - -let $formatno= $maxformatno; -while ($formatno) -{ -dec $formatno; - -let $t= delete_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -let $t= delete_rollback_delete_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -let $t= insert_rollback_$formatno.ibd; -let SEARCH_FILE= $MYSQLD_DATADIR/test/$t; --- echo # $t --- source include/search_pattern_in_file.inc -} - --- source include/start_mysqld.inc - -let $formatno= $maxformatno; -while ($formatno) -{ -dec $formatno; - -let $t= delete_$formatno, delete_rollback_delete_$formatno, insert_rollback_$formatno; - -eval check table $t; -eval drop table $t; -} - -show variables like 'innodb_%scrub_data%'; |