Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Separate out RaftEntryMeta
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
databroker
/
actors
/
dds
/
ClientTransactionCommitCohort.java
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 2521c38f91f497ddf00d217e35278d32638c714a..7887577a939bc3abf2c5d84d24e1dfe320f75299 100644
(file)
--- 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,16
+9,18
@@
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.collect.ImmutableList;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
import java.util.Collection;
import java.util.Collection;
-import java.util.List;
+import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
+import org.opendaylight.mdsal.common.api.CommitInfo;
+import org.opendaylight.yangtools.yang.common.Empty;
final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohort {
final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohort {
- private final
List
<AbstractProxyTransaction> proxies;
+ private final
Collection
<AbstractProxyTransaction> proxies;
- /**
- * @param clientTransaction
- */
- ClientTransactionCommitCohort(final Collection<AbstractProxyTransaction> proxies) {
+ ClientTransactionCommitCohort(final AbstractClientHistory parent, final TransactionIdentifier txId,
+ final Collection<AbstractProxyTransaction> proxies) {
+ super(parent, txId);
this.proxies = ImmutableList.copyOf(proxies);
}
this.proxies = ImmutableList.copyOf(proxies);
}
@@
-35,9
+37,14
@@
final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohor
return ret;
}
return ret;
}
+ private <T> ListenableFuture<T> addComplete(final ListenableFuture<T> future) {
+ future.addListener(this::complete, MoreExecutors.directExecutor());
+ return future;
+ }
+
@Override
@Override
- public ListenableFuture<
Void
> preCommit() {
- final
VotingFuture<Void> ret = new VotingFuture<>(null
, proxies.size());
+ public ListenableFuture<
Empty
> preCommit() {
+ final
var ret = new VotingFuture<>(Empty.value()
, proxies.size());
for (AbstractProxyTransaction proxy : proxies) {
proxy.preCommit(ret);
}
for (AbstractProxyTransaction proxy : proxies) {
proxy.preCommit(ret);
}
@@
-46,22
+53,22
@@
final class ClientTransactionCommitCohort extends AbstractTransactionCommitCohor
}
@Override
}
@Override
- public ListenableFuture<
Void
> commit() {
- final
VotingFuture<Void> ret = new VotingFuture<>(null
, proxies.size());
+ public ListenableFuture<
CommitInfo
> commit() {
+ final
var ret = new VotingFuture<>(CommitInfo.empty()
, proxies.size());
for (AbstractProxyTransaction proxy : proxies) {
proxy.doCommit(ret);
}
for (AbstractProxyTransaction proxy : proxies) {
proxy.doCommit(ret);
}
- return
ret
;
+ return
addComplete(ret)
;
}
@Override
}
@Override
- public ListenableFuture<
Void
> abort() {
- final
VotingFuture<Void> ret = new VotingFuture<>(null
, proxies.size());
+ public ListenableFuture<
Empty
> abort() {
+ final
var ret = new VotingFuture<>(Empty.value()
, proxies.size());
for (AbstractProxyTransaction proxy : proxies) {
proxy.abort(ret);
}
for (AbstractProxyTransaction proxy : proxies) {
proxy.abort(ret);
}
- return
ret
;
+ return
addComplete(ret)
;
}
}
-}
\ No newline at end of file
+}