Description
checkCmdOnDriver(driver.compileAndRespond("insert into R select * from S where a in (select a from T where b = 1)")); txnMgr.openTxn("three"); txnMgr.acquireLocks(driver.getPlan(), ctx, "three"); locks = getLocks(); Assert.assertEquals("Unexpected lock count", 3, locks.size()); checkLock(LockType.SHARED_READ, LockState.ACQUIRED, "default", "T", null, locks.get(0)); checkLock(LockType.SHARED_READ, LockState.ACQUIRED, "default", "S", null, locks.get(1)); checkLock(LockType.SHARED_READ, LockState.ACQUIRED, "default", "R", null, locks.get(2));
This test case is failing. The expected order of locks is supposed to be T, S, R. But upon closer inspection, it seems to be R,S,T.
I'm not much familiar with what these locks are and why the order is important. Raising this jira so while I try to understand it all. Meanwhile, if somebody can explain here, would be helpful.