X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Fconfig%2Fdistributed_datastore_provider%2FDistributedOperationalDataStoreProviderModule.java;h=9bb6b82eee7b16cede1b60242b561e770d27000c;hp=6711a1007475d8a0cbb18ecb204a35e39491513a;hb=e332f9d44cad4d8592475ad409ed06595f0bbb15;hpb=412db94945c5db5d2da918f5e23bd3abcecc4d10 diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java index 6711a10074..9bb6b82eee 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/config/yang/config/distributed_datastore_provider/DistributedOperationalDataStoreProviderModule.java @@ -1,7 +1,17 @@ +/* + * Copyright (c) 2014, 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + package org.opendaylight.controller.config.yang.config.distributed_datastore_provider; import org.opendaylight.controller.cluster.datastore.DatastoreContext; +import org.opendaylight.controller.cluster.datastore.DatastoreSnapshotRestore; import org.opendaylight.controller.cluster.datastore.DistributedDataStoreFactory; +import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.osgi.framework.BundleContext; public class DistributedOperationalDataStoreProviderModule extends @@ -27,16 +37,32 @@ public class DistributedOperationalDataStoreProviderModule extends // add custom validation form module attributes here. } + @Override + public boolean canReuseInstance(AbstractDistributedOperationalDataStoreProviderModule oldModule) { + return true; + } + @Override public java.lang.AutoCloseable createInstance() { + DatastoreContext datastoreContext = newDatastoreContext(getOperationalProperties()); - OperationalProperties props = getOperationalProperties(); + return DistributedDataStoreFactory.createInstance(getOperationalSchemaServiceDependency(), + datastoreContext, DatastoreSnapshotRestore.instance(), + getOperationalActorSystemProviderDependency(), bundleContext); + } + + public static DatastoreContext newDatastoreContext() { + return newDatastoreContext(null); + } + + private static DatastoreContext newDatastoreContext(OperationalProperties inProps) { + OperationalProperties props = inProps; if(props == null) { props = new OperationalProperties(); } - DatastoreContext datastoreContext = DatastoreContext.newBuilder() - .dataStoreType("operational") + return DatastoreContext.newBuilder() + .logicalStoreType(LogicalDatastoreType.OPERATIONAL) .maxShardDataChangeExecutorPoolSize(props.getMaxShardDataChangeExecutorPoolSize().getValue().intValue()) .maxShardDataChangeExecutorQueueSize(props.getMaxShardDataChangeExecutorQueueSize().getValue().intValue()) .maxShardDataChangeListenerQueueSize(props.getMaxShardDataChangeListenerQueueSize().getValue().intValue()) @@ -56,14 +82,16 @@ public class DistributedOperationalDataStoreProviderModule extends props.getShardTransactionCommitQueueCapacity().getValue().intValue()) .persistent(props.getPersistent().booleanValue()) .shardIsolatedLeaderCheckIntervalInMillis( - props.getShardIsolatedLeaderCheckIntervalInMillis().getValue()) + props.getShardIsolatedLeaderCheckIntervalInMillis().getValue()) .shardElectionTimeoutFactor(props.getShardElectionTimeoutFactor().getValue()) .transactionCreationInitialRateLimit(props.getTransactionCreationInitialRateLimit().getValue()) .shardBatchedModificationCount(props.getShardBatchedModificationCount().getValue().intValue()) + .shardCommitQueueExpiryTimeoutInSeconds( + props.getShardCommitQueueExpiryTimeoutInSeconds().getValue().intValue()) + .transactionDebugContextEnabled(props.getTransactionDebugContextEnabled()) + .customRaftPolicyImplementation(props.getCustomRaftPolicyImplementation()) + .shardSnapshotChunkSize(props.getShardSnapshotChunkSize().getValue().intValue()) .build(); - - return DistributedDataStoreFactory.createInstance(getOperationalSchemaServiceDependency(), - datastoreContext, bundleContext); } public void setBundleContext(BundleContext bundleContext) {