1--source include/have_rocksdb.inc
2--source include/have_debug_sync.inc
3--source include/count_sessions.inc
4
5set debug_sync='RESET';
6set global rocksdb_debug_ttl_read_filter_ts = -10;
7
8--connect (conn1, localhost, root,,)
9--let $conn1_id = `SELECT CONNECTION_ID()`
10connection default;
11
12# MyRocks does not support gap locks in REPEATABLE-READ mode
13SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
14
15CREATE TABLE t1 (id INT, value INT, KEY (id), KEY (value)) ENGINE=ROCKSDB;
16CREATE TABLE t2 (id INT, value INT) ENGINE=ROCKSDB;
17CREATE TABLE t3 (id INT, kp1 INT, PRIMARY KEY (id), KEY(kp1)) ENGINE=ROCKSDB COMMENT='ttl_duration=1';
18
19INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4), (5,5);
20INSERT INTO t2 SELECT * FROM t1;
21INSERT INTO t3 SELECT * FROM t1;
22
23connection conn1;
24set debug_sync='rocksdb.check_flags_rmi SIGNAL parked WAIT_FOR go';
25send SELECT value FROM t1 WHERE value = 3;
26
27connection default;
28set debug_sync='now WAIT_FOR parked';
29--echo KILL QUERY \$conn1_id;
30--disable_query_log
31eval KILL QUERY $conn1_id;
32--enable_query_log
33set debug_sync='now SIGNAL go';
34
35connection conn1;
36--error ER_QUERY_INTERRUPTED
37--reap
38
39set debug_sync='RESET';
40
41connection conn1;
42set debug_sync='rocksdb.check_flags_rmi_scan SIGNAL parked WAIT_FOR go';
43send SELECT DISTINCT(id) FROM t1 WHERE value = 5 AND id IN (1, 3, 5);
44
45connection default;
46set debug_sync='now WAIT_FOR parked';
47--echo KILL QUERY \$conn1_id;
48--disable_query_log
49eval KILL QUERY $conn1_id;
50--enable_query_log
51set debug_sync='now SIGNAL go';
52
53connection conn1;
54--error ER_QUERY_INTERRUPTED
55--reap
56
57set debug_sync='RESET';
58
59connection conn1;
60set debug_sync='rocksdb.check_flags_inwd SIGNAL parked WAIT_FOR go';
61send SELECT value FROM t1 WHERE value > 3;
62
63connection default;
64set debug_sync='now WAIT_FOR parked';
65--echo KILL QUERY \$conn1_id;
66--disable_query_log
67eval KILL QUERY $conn1_id;
68--enable_query_log
69set debug_sync='now SIGNAL go';
70
71connection conn1;
72--error ER_QUERY_INTERRUPTED
73--reap
74
75set debug_sync='RESET';
76
77connection conn1;
78set debug_sync='rocksdb.check_flags_rnwd SIGNAL parked WAIT_FOR go';
79send SELECT id FROM t2;
80
81connection default;
82set debug_sync='now WAIT_FOR parked';
83--echo KILL QUERY \$conn1_id;
84--disable_query_log
85eval KILL QUERY $conn1_id;
86--enable_query_log
87set debug_sync='now SIGNAL go';
88
89connection conn1;
90--error ER_QUERY_INTERRUPTED
91--reap
92
93set debug_sync='RESET';
94
95
96connection conn1;
97set debug_sync='rocksdb.check_flags_ser SIGNAL parked WAIT_FOR go';
98send SELECT kp1 FROM t3 ORDER BY kp1;
99
100connection default;
101set debug_sync='now WAIT_FOR parked';
102--echo KILL QUERY \$conn1_id;
103--disable_query_log
104eval KILL QUERY $conn1_id;
105--enable_query_log
106set debug_sync='now SIGNAL go';
107
108connection conn1;
109--error ER_QUERY_INTERRUPTED
110--reap
111
112connection default;
113--disconnect conn1
114
115set debug_sync='RESET';
116
117set global rocksdb_debug_ttl_read_filter_ts = DEFAULT;
118
119DROP TABLE t1;
120DROP TABLE t2;
121DROP TABLE t3;
122
123--source include/wait_until_count_sessions.inc
124