summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/mdev-15707.test
blob: 46e1ee7ce571e661e476351c5104e9f11914ee87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--source include/windows.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;