drop table if exists t1; SET @@global.rocksdb_rollback_on_timeout = 1; show variables like 'rocksdb_rollback_on_timeout'; Variable_name Value rocksdb_rollback_on_timeout ON create table t1 (a int unsigned not null primary key) engine = rocksdb; insert into t1 values (1); commit; connect con1,localhost,root,,; connect con2,localhost,root,,; connection con2; begin work; insert into t1 values (5); insert into t1 values (6); update t1 set a = a + 1 where a = 1; connection con1; begin work; insert into t1 values (7); insert into t1 values (8); update t1 set a = a + 1 where a = 1; ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t1; a 1 commit; connection con2; select * from t1; a 2 5 6 commit; connection default; select * from t1; a 2 5 6 SET @@global.rocksdb_rollback_on_timeout = 0; show variables like 'rocksdb_rollback_on_timeout'; Variable_name Value rocksdb_rollback_on_timeout OFF connection con2; begin work; insert into t1 values (9); insert into t1 values (10); update t1 set a = a + 1 where a = 2; connection con1; begin work; insert into t1 values (11); insert into t1 values (12); update t1 set a = a + 1 where a = 2; ERROR HY000: Lock wait timeout exceeded; try restarting transaction select * from t1; a 2 5 6 11 12 commit; connection con2; select * from t1; a 3 5 6 9 10 commit; connection default; select * from t1; a 3 5 6 9 10 11 12 SET @@global.rocksdb_rollback_on_timeout = DEFAULT; drop table t1; disconnect con1; disconnect con2;