set debug_sync='RESET'; drop table if exists t1; create table t1 (id1 int, id2 int, value int, primary key (id1, id2)) engine=xengine; insert into t1 values (1, 1, 1),(1, 2, 1),(1, 3, 1), (2, 2, 2); set debug_sync='xengine.get_row_by_rowid SIGNAL parked WAIT_FOR go'; update t1 set value=100 where id1=1; set debug_sync='now WAIT_FOR parked'; delete from t1 where id1=1 and id2=1; set debug_sync='now SIGNAL go'; select * from t1 where id1=1 for update; id1 id2 value 1 2 100 1 3 100 set debug_sync='RESET'; drop table t1;