@Theory public void shouldAcquireRowLockIfLocksAtRowLevel(ConflictHandler conflictHandler) { Assume.assumeTrue(conflictHandler.lockRowsForConflicts()); PreCommitCondition rowLocksAcquired = (ignored) -> { LockResponse response = acquireRowLock(ROW); assertFalse(response.wasSuccessful()); }; commitWriteWith(rowLocksAcquired, conflictHandler); }
@Theory public void shouldNotAcquireRowLockIfDoesNotLockAtRowLevel(ConflictHandler conflictHandler) { Assume.assumeFalse(conflictHandler.lockRowsForConflicts()); PreCommitCondition canAcquireRowLock = (ignored) -> { LockResponse response = acquireRowLock(ROW); assertTrue(response.wasSuccessful()); }; commitWriteWith(canAcquireRowLock, conflictHandler); }
@Theory public void shouldAcquireRowAndCellLockIfRequiresBoth(ConflictHandler conflictHandler) { Assume.assumeTrue(conflictHandler.lockCellsForConflicts() && conflictHandler.lockRowsForConflicts()); PreCommitCondition cellAndRowLockAcquired = (ignored) -> { LockResponse cellLockResponse = acquireCellLock(ROW, COLUMN); LockResponse rowLockResponse = acquireRowLock(ROW); assertFalse(cellLockResponse.wasSuccessful()); assertFalse(rowLockResponse.wasSuccessful()); }; commitWriteWith(cellAndRowLockAcquired, conflictHandler); }
if (conflictHandler.lockRowsForConflicts()) { Cell lastCell = null; for (Cell cell : getLocalWrites(tableRef).keySet()) {
@Theory public void shouldNotAcquireRowLockIfDoesNotLockAtRowLevel(ConflictHandler conflictHandler) { Assume.assumeFalse(conflictHandler.lockRowsForConflicts()); PreCommitCondition canAcquireRowLock = (ignored) -> { LockResponse response = acquireRowLock(ROW); assertTrue(response.wasSuccessful()); }; commitWriteWith(canAcquireRowLock, conflictHandler); }
@Theory public void shouldAcquireRowLockIfLocksAtRowLevel(ConflictHandler conflictHandler) { Assume.assumeTrue(conflictHandler.lockRowsForConflicts()); PreCommitCondition rowLocksAcquired = (ignored) -> { LockResponse response = acquireRowLock(ROW); assertFalse(response.wasSuccessful()); }; commitWriteWith(rowLocksAcquired, conflictHandler); }
if (conflictHandler.lockRowsForConflicts()) { Cell lastCell = null; for (Cell cell : getLocalWrites(tableRef).keySet()) {
@Theory public void shouldAcquireRowAndCellLockIfRequiresBoth(ConflictHandler conflictHandler) { Assume.assumeTrue(conflictHandler.lockCellsForConflicts() && conflictHandler.lockRowsForConflicts()); PreCommitCondition cellAndRowLockAcquired = (ignored) -> { LockResponse cellLockResponse = acquireCellLock(ROW, COLUMN); LockResponse rowLockResponse = acquireRowLock(ROW); assertFalse(cellLockResponse.wasSuccessful()); assertFalse(rowLockResponse.wasSuccessful()); }; commitWriteWith(cellAndRowLockAcquired, conflictHandler); }