X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FLocalThreePhaseCommitCohort.java;h=8d0068172a65eea7124b890354961ab68b1986b0;hp=23207f01ceeea9bb9890b47a848c0bb2c2a2ba83;hb=731e7284cf0895fdb1b89427f91762e80e67c2ff;hpb=39f938a071f0955c0eec12bfcb200889a6aa695a diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LocalThreePhaseCommitCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LocalThreePhaseCommitCohort.java index 23207f01ce..8d0068172a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LocalThreePhaseCommitCohort.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/LocalThreePhaseCommitCohort.java @@ -12,6 +12,8 @@ import akka.dispatch.Futures; import akka.dispatch.OnComplete; import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ListenableFuture; +import java.util.Optional; +import java.util.SortedSet; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; import org.opendaylight.controller.cluster.datastore.messages.CommitTransactionReply; import org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransaction; @@ -59,18 +61,19 @@ class LocalThreePhaseCommitCohort implements DOMStoreThreePhaseCommitCohort { this.modification = null; } - private Future initiateCommit(final boolean immediate) { + private Future initiateCommit(final boolean immediate, + final Optional> participatingShardNames) { if (operationError != null) { return Futures.failed(operationError); } final ReadyLocalTransaction message = new ReadyLocalTransaction(transaction.getIdentifier(), - modification, immediate); + modification, immediate, participatingShardNames); return actorContext.executeOperationAsync(leader, message, actorContext.getTransactionCommitOperationTimeout()); } - Future initiateCoordinatedCommit() { - final Future messageFuture = initiateCommit(false); + Future initiateCoordinatedCommit(Optional> participatingShardNames) { + final Future messageFuture = initiateCommit(false, participatingShardNames); final Future ret = TransactionReadyReplyMapper.transform(messageFuture, actorContext, transaction.getIdentifier()); ret.onComplete(new OnComplete() { @@ -90,7 +93,7 @@ class LocalThreePhaseCommitCohort implements DOMStoreThreePhaseCommitCohort { } Future initiateDirectCommit() { - final Future messageFuture = initiateCommit(true); + final Future messageFuture = initiateCommit(true, Optional.empty()); messageFuture.onComplete(new OnComplete() { @Override public void onComplete(final Throwable failure, final Object message) throws Throwable {