private <T, C extends PreCommitCondition, E extends Exception> ConditionAwareTransactionTask<T, C, E> wrapTask(ConditionAwareTransactionTask<T, C, E> task) { return (transaction, condition) -> task.execute(wrap(transaction), condition); }
@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)); } }
@Override public <T, C extends PreCommitCondition, E extends Exception> T runTaskWithConditionThrowOnConflict( C condition, ConditionAwareTransactionTask<T, C, E> task) throws E, TransactionFailedRetriableException { checkOpen(); try { TransactionAndImmutableTsLock txAndLock = runTimed(() -> setupRunTaskWithConditionThrowOnConflict(condition), "setupTask"); return finishRunTaskWithLockThrowOnConflict(txAndLock, transaction -> task.execute(transaction, condition)); } finally { condition.cleanup(); } }
transactionConfig); try { return runTaskThrowOnConflict(txn -> task.execute(txn, condition), new ReadTransaction(transaction, sweepStrategyManager)); } finally {
private <T, C extends PreCommitCondition, E extends Exception> ConditionAwareTransactionTask<T, C, E> wrapTask(ConditionAwareTransactionTask<T, C, E> task) { return (transaction, condition) -> task.execute(wrap(transaction), condition); }
@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)); } }
@Override public <T, C extends PreCommitCondition, E extends Exception> T runTaskWithConditionThrowOnConflict( C condition, ConditionAwareTransactionTask<T, C, E> task) throws E, TransactionFailedRetriableException { checkOpen(); try { TransactionAndImmutableTsLock txAndLock = runTimed(() -> setupRunTaskWithConditionThrowOnConflict(condition), "setupTask"); return finishRunTaskWithLockThrowOnConflict(txAndLock, transaction -> task.execute(transaction, condition)); } finally { condition.cleanup(); } }
transactionConfig); try { return runTaskThrowOnConflict(txn -> task.execute(txn, condition), new ReadTransaction(transaction, sweepStrategyManager)); } finally {