@Before public void setUp() throws Exception { delegateTransaction = Mockito.mock(AbstractTransaction.class); SweepStrategyManager sweepStrategies = Mockito.mock(SweepStrategyManager.class); when(sweepStrategies.get()).thenReturn(ImmutableMap.of( DUMMY_CONSERVATIVE_TABLE, TableMetadataPersistence.SweepStrategy.CONSERVATIVE, DUMMY_THOROUGH_TABLE, TableMetadataPersistence.SweepStrategy.THOROUGH)); readTransaction = new ReadTransaction(delegateTransaction, sweepStrategies); }
@Override public <T, C extends PreCommitCondition, E extends Exception> T runTaskWithConditionReadOnly(C condition, ConditionAwareTransactionTask<T, C, E> task) throws E { checkOpen(); SnapshotTransaction txn = new ShouldNotDeleteAndRollbackTransaction( metricsManager, keyValueService, transactionService, startTimestamp.get(), constraintCheckingMode, readSentinelBehavior, allowHiddenTableAccess, timestampValidationReadCache, MoreExecutors.newDirectExecutorService(), defaultGetRangesConcurrency, transactionConfig); return runTaskThrowOnConflict((transaction) -> task.execute(transaction, condition), new ReadTransaction(txn, txn.sweepStrategyManager)); } }
try { return runTaskThrowOnConflict(txn -> task.execute(txn, condition), new ReadTransaction(transaction, sweepStrategyManager)); } finally { condition.cleanup();
@Override public <T, C extends PreCommitCondition, E extends Exception> T runTaskWithConditionReadOnly(C condition, ConditionAwareTransactionTask<T, C, E> task) throws E { checkOpen(); SnapshotTransaction txn = new ShouldNotDeleteAndRollbackTransaction( metricsManager, keyValueService, transactionService, startTimestamp.get(), constraintCheckingMode, readSentinelBehavior, allowHiddenTableAccess, timestampValidationReadCache, MoreExecutors.newDirectExecutorService(), defaultGetRangesConcurrency, transactionConfig); return runTaskThrowOnConflict((transaction) -> task.execute(transaction, condition), new ReadTransaction(txn, txn.sweepStrategyManager)); } }
try { return runTaskThrowOnConflict(txn -> task.execute(txn, condition), new ReadTransaction(transaction, sweepStrategyManager)); } finally { condition.cleanup();