summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/suite/encryption/disabled.def14
-rw-r--r--mysql-test/suite/encryption/r/innodb_scrub.result138
-rw-r--r--mysql-test/suite/encryption/r/innodb_scrub_background.result160
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub.opt7
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub.test147
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub_background.opt7
-rw-r--r--mysql-test/suite/encryption/t/innodb_scrub_background.test170
-rw-r--r--mysql-test/suite/innodb/r/innodb_scrub.result10
-rw-r--r--mysql-test/suite/innodb/t/innodb_scrub.opt1
-rw-r--r--mysql-test/suite/innodb/t/innodb_scrub.test26
10 files changed, 37 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%';
diff --git a/mysql-test/suite/innodb/r/innodb_scrub.result b/mysql-test/suite/innodb/r/innodb_scrub.result
new file mode 100644
index 00000000000..f783b9f167c
--- /dev/null
+++ b/mysql-test/suite/innodb/r/innodb_scrub.result
@@ -0,0 +1,10 @@
+CREATE TABLE t1(f1 int auto_increment primary key,
+f2 varchar(256),
+f3 text) engine = innodb;
+FLUSH TABLE t1 FOR EXPORT;
+UNLOCK TABLES;
+FOUND 500500 /unicycle|repairman/ in t1.ibd
+DELETE FROM t1;
+InnoDB 0 transactions not purged
+NOT FOUND /unicycle|repairman/ in t1.ibd
+DROP TABLE t1;
diff --git a/mysql-test/suite/innodb/t/innodb_scrub.opt b/mysql-test/suite/innodb/t/innodb_scrub.opt
new file mode 100644
index 00000000000..f9984508bde
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_scrub.opt
@@ -0,0 +1 @@
+--innodb-immediate-scrub-data-uncompressed=ON
diff --git a/mysql-test/suite/innodb/t/innodb_scrub.test b/mysql-test/suite/innodb/t/innodb_scrub.test
new file mode 100644
index 00000000000..c1b7fb4df1d
--- /dev/null
+++ b/mysql-test/suite/innodb/t/innodb_scrub.test
@@ -0,0 +1,26 @@
+-- source include/have_innodb.inc
+
+let $MYSQLD_DATADIR=`select @@datadir`;
+CREATE TABLE t1(f1 int auto_increment primary key,
+ f2 varchar(256),
+ f3 text) engine = innodb;
+let $numinserts = 500;
+--disable_query_log
+begin;
+while ($numinserts)
+{
+ dec $numinserts;
+ eval INSERT INTO t1(f2,f3) VALUES ('repairman', repeat('unicycle', 1000));
+}
+commit;
+--enable_query_log
+FLUSH TABLE t1 FOR EXPORT;
+UNLOCK TABLES;
+
+let SEARCH_PATTERN= unicycle|repairman;
+let SEARCH_FILE= $MYSQLD_DATADIR/test/t1.ibd;
+-- source include/search_pattern_in_file.inc
+DELETE FROM t1;
+-- source include/wait_all_purged.inc
+-- source include/search_pattern_in_file.inc
+DROP TABLE t1;