1--source include/have_tokudb.inc
2--source include/have_debug_sync.inc
3
4--echo ### connection default
5
6CREATE TABLE t (a INT PRIMARY KEY, b INT) ENGINE=TokuDB;
7
8INSERT INTO t (a, b) VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5),
9                            (6, 6), (7, 7), (8, 8), (9, 9), (10, 10),
10                            (11, 11), (12, 12), (13, 13), (14, 14), (15, 15),
11                            (16, 16), (17, 17), (18, 18), (19, 19), (20, 20);
12
13--connect(con1, localhost, root)
14--connect(con2, localhost, root)
15
16--connection con1
17--echo ### connection con1
18SET DEBUG_SYNC= 'toku_range_lock_granted_immediately SIGNAL lock_granted WAIT_FOR lock_granted_continue';
19--send UPDATE t SET b=1 WHERE a BETWEEN 5 AND 10
20
21--connection default
22--echo ### connection default
23SET DEBUG_SYNC= 'now WAIT_FOR lock_granted';
24
25--connection con2
26--echo ### connection con2
27--let $con2_id= `SELECT CONNECTION_ID()`
28SET DEBUG_SYNC= 'toku_range_lock_before_wait SIGNAL lock_not_granted WAIT_FOR lock_not_granted_continue';
29SET DEBUG_SYNC= 'toku_range_lock_not_granted_after_wait SIGNAL lock_not_granted_after_wait';
30--send UPDATE t SET b=1 WHERE a BETWEEN 5 AND 10
31
32--connection default
33--echo ### connection default
34SET DEBUG_SYNC= 'now SIGNAL lock_not_granted_continue WAIT_FOR lock_not_granted';
35
36--disable_query_log
37--eval KILL QUERY $con2_id
38--enable_query_log
39--echo KILL QUERY con2_id
40SET DEBUG_SYNC= 'now SIGNAL lock_granted_continue WAIT_FOR lock_not_granted_after_wait';
41
42--connection con1
43--echo ### connection con1
44--echo ### reap
45--reap
46
47--connection con2
48--echo ### connection con2
49--echo ### reap
50--error ER_QUERY_INTERRUPTED
51--reap
52
53--connection default
54--echo ### connection default
55
56DROP TABLE t;
57