@Test public void txn_coord_disable_writers_2() { txnMgr.blockWriters(); Transaction txn = L.syncCallThread(()->txnMgr.begin(TxnType.WRITE, false)) ; assertNull(txn) ; txnMgr.enableWriters(); Transaction txn2 = L.syncCallThread(()-> { Transaction txn1 = txnMgr.begin(TxnType.WRITE, false); assertNotNull(txn1); txn1.abort(); txn1.end(); return txn1; }) ; assertNotNull(txn2) ; }
@Test public void txn_coord_disable_writers_2() { txnMgr.blockWriters(); Transaction txn = L.syncCallThread(()->txnMgr.begin(TxnType.WRITE, false)) ; assertNull(txn) ; txnMgr.enableWriters(); Transaction txn2 = L.syncCallThread(()-> { Transaction txn1 = txnMgr.begin(TxnType.WRITE, false); assertNotNull(txn1); txn1.abort(); txn1.end(); return txn1; }) ; assertNotNull(txn2) ; }
@Test public void txn_coord_disable_writers_3() { txnMgr.blockWriters(); Transaction txn = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.READ, false); tx.end(); return tx; }); assertNotNull(txn) ; txnMgr.enableWriters(); Transaction txn1 = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.WRITE, false); tx.commit(); tx.end(); return tx; }); assertNotNull(txn1); Transaction txn2 = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.READ, false); tx.end(); return tx; }); assertNotNull(txn2); }
@Test public void txn_coord_disable_writers_3() { txnMgr.blockWriters(); Transaction txn = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.READ, false); tx.end(); return tx; }); assertNotNull(txn) ; txnMgr.enableWriters(); Transaction txn1 = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.WRITE, false); tx.commit(); tx.end(); return tx; }); assertNotNull(txn1); Transaction txn2 = L.syncCallThread(() -> { Transaction tx = txnMgr.begin(TxnType.READ, false); tx.end(); return tx; }); assertNotNull(txn2); }