X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatabroker%2Factors%2Fdds%2FClientTransactionCommitCohort.java;h=a4eb5e074f421ffc3e8bb718f02e747540f3839a;hb=abaef4a5ae37f27542155457fe7306a4662b1eeb;hp=a7de89aac3e7da504f4010a01eedcda598981597;hpb=a510fba141230ce9fe8301f9eb0198cc09df46ca;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransactionCommitCohort.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransactionCommitCohort.java index a7de89aac3..a4eb5e074f 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransactionCommitCohort.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransactionCommitCohort.java @@ -9,13 +9,16 @@ package org.opendaylight.controller.cluster.databroker.actors.dds; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; import java.util.Collection; -import java.util.List; +import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohort { - private final List proxies; + private final Collection proxies; - ClientTransactionCommitCohort(final Collection proxies) { + ClientTransactionCommitCohort(final AbstractClientHistory parent, final TransactionIdentifier txId, + final Collection proxies) { + super(parent, txId); this.proxies = ImmutableList.copyOf(proxies); } @@ -32,6 +35,11 @@ final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohor return ret; } + private ListenableFuture addComplete(final ListenableFuture future) { + future.addListener(this::complete, MoreExecutors.directExecutor()); + return future; + } + @Override public ListenableFuture preCommit() { final VotingFuture ret = new VotingFuture<>(null, proxies.size()); @@ -49,7 +57,7 @@ final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohor proxy.doCommit(ret); } - return ret; + return addComplete(ret); } @Override @@ -59,6 +67,6 @@ final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohor proxy.abort(ret); } - return ret; + return addComplete(ret); } }