* <p/>
* The end result from a completed CreateTransaction message is a TransactionContext that is
* used to perform transaction operations. Transaction operations that occur before the
- * CreateTransaction completes are cache via a TransactionContextWrapper and executed once the
+ * CreateTransaction completes are cached via a DelayedTransactionContextWrapper and executed once the
* CreateTransaction completes, successfully or not.
*/
final class RemoteTransactionContextSupport {
private final Timeout createTxMessageTimeout;
- private final TransactionContextWrapper transactionContextWrapper;
+ private final DelayedTransactionContextWrapper transactionContextWrapper;
- RemoteTransactionContextSupport(final TransactionContextWrapper transactionContextWrapper,
+ RemoteTransactionContextSupport(final DelayedTransactionContextWrapper transactionContextWrapper,
final TransactionProxy parent, final String shardName) {
this.parent = requireNonNull(parent);
this.shardName = shardName;
* Sets the target primary shard and initiates a CreateTransaction try.
*/
void setPrimaryShard(final PrimaryShardInfo newPrimaryShardInfo) {
- this.primaryShardInfo = newPrimaryShardInfo;
+ primaryShardInfo = newPrimaryShardInfo;
if (getTransactionType() == TransactionType.WRITE_ONLY
&& getActorUtils().getDatastoreContext().isWriteOnlyTransactionOptimizationsEnabled()) {
Future<Object> createTxFuture = getActorUtils().executeOperationAsync(
primaryShardInfo.getPrimaryShardActor(), serializedCreateMessage, createTxMessageTimeout);
- createTxFuture.onComplete(new OnComplete<Object>() {
+ createTxFuture.onComplete(new OnComplete<>() {
@Override
public void onComplete(final Throwable failure, final Object response) {
onCreateTransactionComplete(failure, response);
private void tryFindPrimaryShard() {
LOG.debug("Tx {} Retrying findPrimaryShardAsync for shard {}", getIdentifier(), shardName);
- this.primaryShardInfo = null;
+ primaryShardInfo = null;
Future<PrimaryShardInfo> findPrimaryFuture = getActorUtils().findPrimaryShardAsync(shardName);
findPrimaryFuture.onComplete(new OnComplete<PrimaryShardInfo>() {
@Override
private void onFindPrimaryShardComplete(final Throwable failure, final PrimaryShardInfo newPrimaryShardInfo) {
if (failure == null) {
- this.primaryShardInfo = newPrimaryShardInfo;
+ primaryShardInfo = newPrimaryShardInfo;
tryCreateTransaction();
} else {
LOG.debug("Tx {}: Find primary for shard {} failed", getIdentifier(), shardName, failure);
localTransactionContext = new NoOpTransactionContext(exception, getIdentifier());
}
-
transactionContextWrapper.executePriorTransactionOperations(localTransactionContext);
}