}
private void onFindPrimaryShardSuccess(PrimaryShardInfo primaryShardInfo, TransactionProxy parent,
- String shardName, TransactionContextWrapper transactionContextAdapter) {
+ String shardName, TransactionContextWrapper transactionContextWrapper) {
if(LOG.isDebugEnabled()) {
LOG.debug("Tx {}: Found primary {} for shard {}", parent.getIdentifier(),
primaryShardInfo.getPrimaryShardActor(), shardName);
TransactionContext localContext = maybeCreateLocalTransactionContext(parent, shardName);
if(localContext != null) {
- transactionContextAdapter.executePriorTransactionOperations(localContext);
+ transactionContextWrapper.executePriorTransactionOperations(localContext);
} else {
- RemoteTransactionContextSupport remote = new RemoteTransactionContextSupport(transactionContextAdapter,
+ RemoteTransactionContextSupport remote = new RemoteTransactionContextSupport(transactionContextWrapper,
parent, shardName);
remote.setPrimaryShard(primaryShardInfo.getPrimaryShardActor(), primaryShardInfo.getPrimaryShardVersion());
}
}
private void onFindPrimaryShardFailure(Throwable failure, TransactionProxy parent,
- String shardName, TransactionContextWrapper transactionContextAdapter) {
+ String shardName, TransactionContextWrapper transactionContextWrapper) {
LOG.debug("Tx {}: Find primary for shard {} failed", parent.getIdentifier(), shardName, failure);
- transactionContextAdapter.executePriorTransactionOperations(new NoOpTransactionContext(failure,
+ transactionContextWrapper.executePriorTransactionOperations(new NoOpTransactionContext(failure,
parent.getIdentifier()));
}
- final TransactionContextWrapper newTransactionAdapter(final TransactionProxy parent, final String shardName) {
- final TransactionContextWrapper transactionContextAdapter =
+ final TransactionContextWrapper newTransactionContextWrapper(final TransactionProxy parent, final String shardName) {
+ final TransactionContextWrapper transactionContextWrapper =
new TransactionContextWrapper(parent.getIdentifier(), actorContext);
Future<PrimaryShardInfo> findPrimaryFuture = findPrimaryShard(shardName);
if(findPrimaryFuture.isCompleted()) {
Try<PrimaryShardInfo> maybe = findPrimaryFuture.value().get();
if(maybe.isSuccess()) {
- onFindPrimaryShardSuccess(maybe.get(), parent, shardName, transactionContextAdapter);
+ onFindPrimaryShardSuccess(maybe.get(), parent, shardName, transactionContextWrapper);
} else {
- onFindPrimaryShardFailure(maybe.failed().get(), parent, shardName, transactionContextAdapter);
+ onFindPrimaryShardFailure(maybe.failed().get(), parent, shardName, transactionContextWrapper);
}
} else {
findPrimaryFuture.onComplete(new OnComplete<PrimaryShardInfo>() {
@Override
public void onComplete(final Throwable failure, final PrimaryShardInfo primaryShardInfo) {
if (failure == null) {
- onFindPrimaryShardSuccess(primaryShardInfo, parent, shardName, transactionContextAdapter);
+ onFindPrimaryShardSuccess(primaryShardInfo, parent, shardName, transactionContextWrapper);
} else {
- onFindPrimaryShardFailure(failure, parent, shardName, transactionContextAdapter);
+ onFindPrimaryShardFailure(failure, parent, shardName, transactionContextWrapper);
}
}
}, actorContext.getClientDispatcher());
}
- return transactionContextAdapter;
+ return transactionContextWrapper;
}
private void updateShardInfo(final String shardName, final PrimaryShardInfo primaryShardInfo) {
private volatile ActorSelection primaryShard;
private volatile int createTxTries;
- private final TransactionContextWrapper transactionContextAdapter;
+ private final TransactionContextWrapper transactionContextWrapper;
- RemoteTransactionContextSupport(final TransactionContextWrapper transactionContextAdapter, final TransactionProxy parent,
+ RemoteTransactionContextSupport(final TransactionContextWrapper transactionContextWrapper, final TransactionProxy parent,
final String shardName) {
this.parent = Preconditions.checkNotNull(parent);
this.shardName = shardName;
- this.transactionContextAdapter = transactionContextAdapter;
+ this.transactionContextWrapper = transactionContextWrapper;
createTxTries = (int) (parent.getActorContext().getDatastoreContext().
getShardLeaderElectionTimeout().duration().toMillis() /
CREATE_TX_TRY_INTERVAL.toMillis());
}
private OperationLimiter getOperationLimiter() {
- return transactionContextAdapter.getLimiter();
+ return transactionContextWrapper.getLimiter();
}
private TransactionIdentifier getIdentifier() {
// For write-only Tx's we prepare the transaction modifications directly on the shard actor
// to avoid the overhead of creating a separate transaction actor.
- transactionContextAdapter.executePriorTransactionOperations(createValidTransactionContext(this.primaryShard,
+ transactionContextWrapper.executePriorTransactionOperations(createValidTransactionContext(this.primaryShard,
this.primaryShard.path().toString(), primaryVersion));
} else {
tryCreateTransaction();
localTransactionContext = new NoOpTransactionContext(exception, getIdentifier());
}
- transactionContextAdapter.executePriorTransactionOperations(localTransactionContext);
+ transactionContextWrapper.executePriorTransactionOperations(localTransactionContext);
}
private TransactionContext createValidTransactionContext(CreateTransactionReply reply) {
final TransactionContext ret;
if (remoteTransactionVersion < DataStoreVersions.LITHIUM_VERSION) {
- ret = new PreLithiumTransactionContextImpl(transactionContextAdapter.getIdentifier(), transactionPath, transactionActor,
- getActorContext(), isTxActorLocal, remoteTransactionVersion, transactionContextAdapter.getLimiter());
+ ret = new PreLithiumTransactionContextImpl(transactionContextWrapper.getIdentifier(), transactionPath, transactionActor,
+ getActorContext(), isTxActorLocal, remoteTransactionVersion, transactionContextWrapper.getLimiter());
} else {
- ret = new RemoteTransactionContext(transactionContextAdapter.getIdentifier(), transactionActor, getActorContext(),
- isTxActorLocal, remoteTransactionVersion, transactionContextAdapter.getLimiter());
+ ret = new RemoteTransactionContext(transactionContextWrapper.getIdentifier(), transactionActor, getActorContext(),
+ isTxActorLocal, remoteTransactionVersion, transactionContextWrapper.getLimiter());
}
if(parent.getType() == TransactionType.READ_ONLY) {
}
private static final Logger LOG = LoggerFactory.getLogger(TransactionProxy.class);
- private final Map<String, TransactionContextWrapper> txContextAdapters = new HashMap<>();
+ private final Map<String, TransactionContextWrapper> txContextWrappers = new HashMap<>();
private final AbstractTransactionContextFactory<?> txContextFactory;
private final TransactionType type;
private TransactionState state = TransactionState.OPEN;
LOG.debug("Tx {} exists {}", getIdentifier(), path);
final SettableFuture<Boolean> proxyFuture = SettableFuture.create();
- TransactionContextWrapper contextAdapter = getContextAdapter(path);
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ TransactionContextWrapper contextWrapper = getContextWrapper(path);
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.dataExists(path, proxyFuture);
private CheckedFuture<Optional<NormalizedNode<?, ?>>, ReadFailedException> singleShardRead(
final String shardName, final YangInstanceIdentifier path) {
final SettableFuture<Optional<NormalizedNode<?, ?>>> proxyFuture = SettableFuture.create();
- TransactionContextWrapper contextAdapter = getContextAdapter(shardName);
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ TransactionContextWrapper contextWrapper = getContextWrapper(shardName);
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.readData(path, proxyFuture);
LOG.debug("Tx {} delete {}", getIdentifier(), path);
- TransactionContextWrapper contextAdapter = getContextAdapter(path);
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ TransactionContextWrapper contextWrapper = getContextWrapper(path);
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.deleteData(path);
LOG.debug("Tx {} merge {}", getIdentifier(), path);
- TransactionContextWrapper contextAdapter = getContextAdapter(path);
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ TransactionContextWrapper contextWrapper = getContextWrapper(path);
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.mergeData(path, data);
LOG.debug("Tx {} write {}", getIdentifier(), path);
- TransactionContextWrapper contextAdapter = getContextAdapter(path);
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ TransactionContextWrapper contextWrapper = getContextWrapper(path);
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.writeData(path, data);
return;
}
- for (TransactionContextWrapper contextAdapter : txContextAdapters.values()) {
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ for (TransactionContextWrapper contextWrapper : txContextWrappers.values()) {
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
transactionContext.closeTransaction();
}
- txContextAdapters.clear();
+ txContextWrappers.clear();
}
@Override
final boolean success = seal(TransactionState.READY);
Preconditions.checkState(success, "Transaction %s is %s, it cannot be readied", getIdentifier(), state);
- LOG.debug("Tx {} Readying {} components for commit", getIdentifier(), txContextAdapters.size());
+ LOG.debug("Tx {} Readying {} components for commit", getIdentifier(), txContextWrappers.size());
final AbstractThreePhaseCommitCohort<?> ret;
- switch (txContextAdapters.size()) {
+ switch (txContextWrappers.size()) {
case 0:
ret = NoOpDOMStoreThreePhaseCommitCohort.INSTANCE;
break;
case 1:
- final Entry<String, TransactionContextWrapper> e = Iterables.getOnlyElement(txContextAdapters.entrySet());
+ final Entry<String, TransactionContextWrapper> e = Iterables.getOnlyElement(txContextWrappers.entrySet());
ret = createSingleCommitCohort(e.getKey(), e.getValue());
break;
default:
- ret = createMultiCommitCohort(txContextAdapters.entrySet());
+ ret = createMultiCommitCohort(txContextWrappers.entrySet());
}
txContextFactory.onTransactionReady(getIdentifier(), ret.getCohortFutures());
}
private AbstractThreePhaseCommitCohort<?> createSingleCommitCohort(final String shardName,
- final TransactionContextWrapper contextAdapter) {
+ final TransactionContextWrapper contextWrapper) {
LOG.debug("Tx {} Readying transaction for shard {}", getIdentifier(), shardName);
final OperationCallback.Reference operationCallbackRef =
new OperationCallback.Reference(OperationCallback.NO_OP_CALLBACK);
- final TransactionContext transactionContext = contextAdapter.getTransactionContext();
+ final TransactionContext transactionContext = contextWrapper.getTransactionContext();
final Future future;
if (transactionContext == null) {
final Promise promise = akka.dispatch.Futures.promise();
- contextAdapter.maybeExecuteTransactionOperation(new TransactionOperation() {
+ contextWrapper.maybeExecuteTransactionOperation(new TransactionOperation() {
@Override
public void invoke(TransactionContext transactionContext) {
promise.completeWith(getReadyOrDirectCommitFuture(transactionContext, operationCallbackRef));
}
private AbstractThreePhaseCommitCohort<ActorSelection> createMultiCommitCohort(
- final Set<Entry<String, TransactionContextWrapper>> txContextAdapterEntries) {
+ final Set<Entry<String, TransactionContextWrapper>> txContextWrapperEntries) {
- final List<Future<ActorSelection>> cohortFutures = new ArrayList<>(txContextAdapterEntries.size());
- for (Entry<String, TransactionContextWrapper> e : txContextAdapterEntries) {
+ final List<Future<ActorSelection>> cohortFutures = new ArrayList<>(txContextWrapperEntries.size());
+ for (Entry<String, TransactionContextWrapper> e : txContextWrapperEntries) {
LOG.debug("Tx {} Readying transaction for shard {}", getIdentifier(), e.getKey());
cohortFutures.add(e.getValue().readyTransaction());
return ShardStrategyFactory.getStrategy(path).findShard(path);
}
- private TransactionContextWrapper getContextAdapter(final YangInstanceIdentifier path) {
- return getContextAdapter(shardNameFromIdentifier(path));
+ private TransactionContextWrapper getContextWrapper(final YangInstanceIdentifier path) {
+ return getContextWrapper(shardNameFromIdentifier(path));
}
- private TransactionContextWrapper getContextAdapter(final String shardName) {
- final TransactionContextWrapper existing = txContextAdapters.get(shardName);
+ private TransactionContextWrapper getContextWrapper(final String shardName) {
+ final TransactionContextWrapper existing = txContextWrappers.get(shardName);
if (existing != null) {
return existing;
}
- final TransactionContextWrapper fresh = txContextFactory.newTransactionAdapter(this, shardName);
- txContextAdapters.put(shardName, fresh);
+ final TransactionContextWrapper fresh = txContextFactory.newTransactionContextWrapper(this, shardName);
+ txContextWrappers.put(shardName, fresh);
return fresh;
}