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%2FDistributedDataStore.java;h=db01d515354a9d166e2b906d8cd7168e7c39deb0;hb=35f74293edf98402e2b622e060185f7874d10857;hp=202ced9a26512047f57ee8ad2b0ced7e61366771;hpb=6fdc35a3863f626da933868211324232969d08ca;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java index 202ced9a26..db01d51535 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/DistributedDataStore.java @@ -8,8 +8,6 @@ package org.opendaylight.controller.cluster.datastore; -import java.util.concurrent.TimeUnit; - import akka.actor.ActorRef; import akka.actor.ActorSystem; @@ -22,7 +20,6 @@ import org.opendaylight.controller.cluster.datastore.shardstrategy.ShardStrategy import org.opendaylight.controller.cluster.datastore.utils.ActorContext; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker; import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeListener; -import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStoreConfigProperties; import org.opendaylight.controller.sal.core.spi.data.DOMStore; import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadTransaction; import org.opendaylight.controller.sal.core.spi.data.DOMStoreReadWriteTransaction; @@ -36,8 +33,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContextListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import scala.concurrent.duration.Duration; - /** * */ @@ -46,40 +41,30 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, Au private static final Logger LOG = LoggerFactory.getLogger(DistributedDataStore.class); private final ActorContext actorContext; - private final DatastoreContext datastoreContext; public DistributedDataStore(ActorSystem actorSystem, String type, ClusterWrapper cluster, - Configuration configuration, DistributedDataStoreProperties dataStoreProperties) { + Configuration configuration, DatastoreContext datastoreContext) { Preconditions.checkNotNull(actorSystem, "actorSystem should not be null"); Preconditions.checkNotNull(type, "type should not be null"); Preconditions.checkNotNull(cluster, "cluster should not be null"); Preconditions.checkNotNull(configuration, "configuration should not be null"); - + Preconditions.checkNotNull(datastoreContext, "datastoreContext should not be null"); String shardManagerId = ShardManagerIdentifier.builder().type(type).build().toString(); LOG.info("Creating ShardManager : {}", shardManagerId); - datastoreContext = new DatastoreContext(InMemoryDOMDataStoreConfigProperties.create( - dataStoreProperties.getMaxShardDataChangeExecutorPoolSize(), - dataStoreProperties.getMaxShardDataChangeExecutorQueueSize(), - dataStoreProperties.getMaxShardDataChangeListenerQueueSize()), - Duration.create(dataStoreProperties.getShardTransactionIdleTimeoutInMinutes(), - TimeUnit.MINUTES)); - - actorContext - = new ActorContext( - actorSystem, actorSystem.actorOf( - ShardManager.props(type, cluster, configuration, datastoreContext). - withMailbox(ActorContext.MAILBOX), shardManagerId ), cluster, configuration); + actorContext = new ActorContext(actorSystem, actorSystem.actorOf( + ShardManager.props(type, cluster, configuration, datastoreContext) + .withMailbox(ActorContext.MAILBOX), shardManagerId ), cluster, configuration); + + actorContext.setOperationTimeout(datastoreContext.getOperationTimeoutInSeconds()); } public DistributedDataStore(ActorContext actorContext) { this.actorContext = Preconditions.checkNotNull(actorContext, "actorContext should not be null"); - this.datastoreContext = new DatastoreContext(); } - @SuppressWarnings("unchecked") @Override public >> @@ -98,8 +83,7 @@ public class DistributedDataStore implements DOMStore, SchemaContextListener, Au String shardName = ShardStrategyFactory.getStrategy(path).findShard(path); Object result = actorContext.executeLocalShardOperation(shardName, - new RegisterChangeListener(path, dataChangeListenerActor.path(), scope), - ActorContext.ASK_DURATION); + new RegisterChangeListener(path, dataChangeListenerActor.path(), scope)); if (result != null) { RegisterChangeListenerReply reply = (RegisterChangeListenerReply) result;