BUG 3019 : Fix Operation throttling for modification batching scenarios
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / LocalThreePhaseCommitCohort.java
index 0ea1029a9d87c4cfc8537b81798a957d5d269749..4e085399d2093d2bc84661e1d6f8679fd73f59a1 100644 (file)
@@ -11,6 +11,7 @@ import akka.actor.ActorSelection;
 import akka.dispatch.OnComplete;
 import com.google.common.base.Preconditions;
 import com.google.common.util.concurrent.ListenableFuture;
+import javax.annotation.Nonnull;
 import org.opendaylight.controller.cluster.datastore.identifiers.TransactionIdentifier;
 import org.opendaylight.controller.cluster.datastore.messages.CommitTransactionReply;
 import org.opendaylight.controller.cluster.datastore.messages.ReadyLocalTransaction;
@@ -48,7 +49,16 @@ abstract class LocalThreePhaseCommitCohort implements DOMStoreThreePhaseCommitCo
     private Future<Object> initiateCommit(final boolean immediate) {
         final ReadyLocalTransaction message = new ReadyLocalTransaction(transaction.getIdentifier().toString(),
                 modification, immediate);
-        return actorContext.executeOperationAsync(leader, message);
+        return actorContext.executeOperationAsync(leader, message, actorContext.getTransactionCommitOperationTimeout());
+    }
+
+    /**
+     * Return the {@link ActorContext} associated with this object.
+     *
+     * @return An actor context instance.
+     */
+    @Nonnull ActorContext getActorContext() {
+        return actorContext;
     }
 
     Future<ActorSelection> initiateCoordinatedCommit() {