Skip to content

Commit

Permalink
Fix rocksdb.autoinc_vars_thread test
Browse files Browse the repository at this point in the history
  • Loading branch information
spetrunia committed Jul 14, 2019
1 parent 9ccbe8d commit b3bd51c
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
1 change: 1 addition & 0 deletions storage/rocksdb/ha_rocksdb.cc
Expand Up @@ -12178,6 +12178,7 @@ void ha_rocksdb::get_auto_increment(ulonglong off, ulonglong inc,
an actual reserve of some values might be a better solution.
*/
DEBUG_SYNC(ha_thd(), "rocksdb.autoinc_vars");
DEBUG_SYNC(ha_thd(), "rocksdb.autoinc_vars2");

if (off > inc) {
off = 1;
Expand Down
Expand Up @@ -12,17 +12,18 @@ SET auto_increment_increment = 2;
SET auto_increment_offset = 1;
connect con3, localhost, root,,;
connection con1;
SET debug_sync='rocksdb.autoinc_vars2 SIGNAL go2';
SET debug_sync='rocksdb.autoinc_vars SIGNAL parked1 WAIT_FOR go1';
INSERT INTO t1 VALUES(NULL);
connection default;
SET debug_sync='now WAIT_FOR parked1';
connection con2;
SET debug_sync='rocksdb.autoinc_vars SIGNAL parked2 WAIT_FOR go2';
INSERT INTO t1 VALUES(NULL);
connection default;
SET debug_sync='now WAIT_FOR parked1';
SET debug_sync='now WAIT_FOR parked2';
SET debug_sync='now SIGNAL go1';
connection con3;
SET debug_sync='now SIGNAL go2';
connection default;
connection con1;
connection con2;
Expand Down
10 changes: 8 additions & 2 deletions storage/rocksdb/mysql-test/rocksdb/t/autoinc_vars_thread.test
Expand Up @@ -23,22 +23,28 @@ connect (con3, localhost, root,,);

# Start each thread on an insert that will block waiting for a signal
connection con1;
SET debug_sync='rocksdb.autoinc_vars2 SIGNAL go2';
SET debug_sync='rocksdb.autoinc_vars SIGNAL parked1 WAIT_FOR go1';
send INSERT INTO t1 VALUES(NULL);

connection default;
SET debug_sync='now WAIT_FOR parked1';

connection con2;
SET debug_sync='rocksdb.autoinc_vars SIGNAL parked2 WAIT_FOR go2';
send INSERT INTO t1 VALUES(NULL);

# Wait for both threads to be at debug_sync point
connection default;
SET debug_sync='now WAIT_FOR parked1';
SET debug_sync='now WAIT_FOR parked2';


# Signal both threads to continue
# (In MariaDB, we signal one of them which continues and signals the other)
send SET debug_sync='now SIGNAL go1';
connection con3;
SET debug_sync='now SIGNAL go2';
# MariaDB: do nothing here

connection default;
reap;

Expand Down

0 comments on commit b3bd51c

Please sign in to comment.