Specify initial serialization buffer capacity for Payloads
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / CohortEntry.java
index 84535b593eebb5da9b4df5f7353336ed5b287cd2..3d5238ee77812eed4190017d7d7a1289887875dd 100644 (file)
@@ -11,8 +11,8 @@ import akka.actor.ActorRef;
 import com.google.common.base.Preconditions;
 import com.google.common.primitives.UnsignedLong;
 import com.google.common.util.concurrent.FutureCallback;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeoutException;
+import java.util.Optional;
+import java.util.SortedSet;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.controller.cluster.datastore.ShardCommitCoordinator.CohortDecorator;
 import org.opendaylight.controller.cluster.datastore.modification.Modification;
@@ -33,7 +33,7 @@ final class CohortEntry {
 
     private CohortEntry(final ReadWriteShardDataTreeTransaction transaction, final short clientVersion) {
         this.transaction = Preconditions.checkNotNull(transaction);
-        this.transactionId = transaction.getId();
+        this.transactionId = transaction.getIdentifier();
         this.clientVersion = clientVersion;
     }
 
@@ -107,14 +107,14 @@ final class CohortEntry {
         cohort.commit(callback);
     }
 
-    void abort() throws InterruptedException, ExecutionException, TimeoutException {
-        cohort.abort().get();
+    void abort(final FutureCallback<Void> callback) {
+        cohort.abort(callback);
     }
 
-    void ready(final CohortDecorator cohortDecorator) {
+    void ready(final Optional<SortedSet<String>> participatingShardNames, final CohortDecorator cohortDecorator) {
         Preconditions.checkState(cohort == null, "cohort was already set");
 
-        cohort = transaction.ready();
+        cohort = transaction.ready(participatingShardNames);
 
         if (cohortDecorator != null) {
             // Call the hook for unit tests.
@@ -122,6 +122,10 @@ final class CohortEntry {
         }
     }
 
+    Optional<SortedSet<String>> getParticipatingShardNames() {
+        return cohort != null ? cohort.getParticipatingShardNames() : Optional.empty();
+    }
+
     boolean isDoImmediateCommit() {
         return doImmediateCommit;
     }