@Test
  public void testMmConversionLocks() throws Exception {
    dropTable(new String[] {"T"});
    driver.run("create table T (a int, b int) tblproperties('transactional'='false')");
    driver.run("insert into T values(0,2),(1,4)");
    driver.compileAndRespond("ALTER TABLE T set tblproperties" +
        "('transactional'='true', 'transactional_properties'='insert_only')", true);
    txnMgr.acquireLocks(driver.getPlan(), ctx, "Fifer"); //gets X lock on T
    List<ShowLocksResponseElement> locks = getLocks();
    Assert.assertEquals("Unexpected lock count", 1, locks.size());
    TestTxnDbUtil.checkLock(LockType.EXCLUSIVE, LockState.ACQUIRED, "default", "T", null, locks);
  }
T7 is a table with 2 partitions
1. run select from T7
2. run drop partition from T7
concurrently with 1 starting first so that 2 blocks
3. start another concurrent select on T7 - it should block behind waiting X (from drop) - LM should be fair
4. finish #1 so that drop unblocks
5. rollback the drop to release its X lock
6. # should unblock
ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java