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%2Fdatabroker%2Factors%2Fdds%2FClientTransactionCommitCohort.java;h=a4eb5e074f421ffc3e8bb718f02e747540f3839a;hp=a7de89aac3e7da504f4010a01eedcda598981597;hb=cc1ec4a8e2ec99ad7711d0e5e649b34d37d87da0;hpb=78efa22e4e7b70a468fcbaf120f8613598c36b5b 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); } }