diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/mdev-15707.test')
-rw-r--r-- | mysql-test/suite/innodb/t/mdev-15707.test | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/mdev-15707.test b/mysql-test/suite/innodb/t/mdev-15707.test new file mode 100644 index 00000000..a0446ef4 --- /dev/null +++ b/mysql-test/suite/innodb/t/mdev-15707.test @@ -0,0 +1,30 @@ +--source include/windows.inc +# This test is slow on buildbot. +--source include/big_test.inc + +# Deadlock in conjunction with the innodb change buffering. + +# When innodb change buffering kicks in, i.e secondary non-unique index +# does not fit into the bufferpool, then, on Windows, innodb +# background threads could deadlock whenever index page is +# read, and the page needs load/merge change buffer. +# The test tries to reproduce this situation, by creating index +# that does not fit into bufferpool, and doing a large update. + +CREATE TABLE t1( +a INT AUTO_INCREMENT PRIMARY KEY, +b CHAR(255), +INDEX(b)) +ENGINE=InnoDB; + +INSERT INTO t1(b) SELECT UUID(); +BEGIN; +let $i=`select cast(log2(@@innodb_buffer_pool_size/255) as int)`; +while ($i) +{ + INSERT INTO t1(b) SELECT UUID() FROM t1; + dec $i; +} +COMMIT; +UPDATE t1 SET b=UUID(); +DROP TABLE t1;
\ No newline at end of file |