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