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%2Fdatastore%2FRemoteTransactionContextSupport.java;h=9cb062dc1c58775ca83d8aa879cbf3daf750e68a;hb=b2af021ee27b2977961f0fec6f8bb1a4acbcdbd7;hp=66562975cc8472af0ebda42d7b7e252b68861bb9;hpb=2f7c93174d7834a4c4aedacc9b88aa53a5a0422c;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextSupport.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextSupport.java index 66562975cc..9cb062dc1c 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextSupport.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/RemoteTransactionContextSupport.java @@ -11,7 +11,6 @@ package org.opendaylight.controller.cluster.datastore; import akka.actor.ActorSelection; import akka.dispatch.OnComplete; import com.google.common.base.Preconditions; -import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; import org.opendaylight.controller.cluster.datastore.compat.PreLithiumTransactionContextImpl; import org.opendaylight.controller.cluster.datastore.exceptions.NoShardLeaderException; @@ -75,7 +74,7 @@ final class RemoteTransactionContextSupport { return parent.getActorContext(); } - private Semaphore getOperationLimiter() { + private OperationLimiter getOperationLimiter() { return parent.getLimiter(); } @@ -192,13 +191,16 @@ final class RemoteTransactionContextSupport { if (remoteTransactionVersion < DataStoreVersions.LITHIUM_VERSION) { ret = new PreLithiumTransactionContextImpl(transactionPath, transactionActor, getIdentifier(), - getActorContext(), isTxActorLocal, remoteTransactionVersion, parent.getCompleter()); + getActorContext(), isTxActorLocal, remoteTransactionVersion, parent.getLimiter()); } else { ret = new RemoteTransactionContext(transactionActor, getIdentifier(), getActorContext(), - isTxActorLocal, remoteTransactionVersion, parent.getCompleter()); + isTxActorLocal, remoteTransactionVersion, parent.getLimiter()); + } + + if(parent.getType() == TransactionType.READ_ONLY) { + TransactionContextCleanup.track(this, ret); } - TransactionContextCleanup.track(this, ret); return ret; } }