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%2FShardManager.java;h=e51d49bff2aff8b6380081e0e772765d172246b0;hb=67d58d1ab50f3c3bbe19a96fb6f0d9d94211829f;hp=c9b7c07e9a3a44d1b0c64425122e53a5b3199543;hpb=2d16e0bef47638ed57073a3d9f84023aa543b3c4;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardManager.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardManager.java index c9b7c07e9a..e51d49bff2 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardManager.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardManager.java @@ -33,6 +33,7 @@ import org.opendaylight.controller.cluster.datastore.messages.PrimaryFound; import org.opendaylight.controller.cluster.datastore.messages.PrimaryNotFound; import org.opendaylight.controller.cluster.datastore.messages.UpdateSchemaContext; +import org.opendaylight.controller.cluster.datastore.utils.ActorContext; import scala.concurrent.duration.Duration; import java.util.ArrayList; @@ -71,19 +72,19 @@ public class ShardManager extends AbstractUntypedActor { private ShardManagerInfoMBean mBean; - private final ShardContext shardContext; + private final DatastoreContext datastoreContext; /** * @param type defines the kind of data that goes into shards created by this shard manager. Examples of type would be * configuration or operational */ private ShardManager(String type, ClusterWrapper cluster, Configuration configuration, - ShardContext shardContext) { + DatastoreContext datastoreContext) { this.type = Preconditions.checkNotNull(type, "type should not be null"); this.cluster = Preconditions.checkNotNull(cluster, "cluster should not be null"); this.configuration = Preconditions.checkNotNull(configuration, "configuration should not be null"); - this.shardContext = shardContext; + this.datastoreContext = datastoreContext; // Subscribe this actor to cluster member events cluster.subscribeToMemberEvents(getSelf()); @@ -96,13 +97,13 @@ public class ShardManager extends AbstractUntypedActor { public static Props props(final String type, final ClusterWrapper cluster, final Configuration configuration, - final ShardContext shardContext) { + final DatastoreContext datastoreContext) { Preconditions.checkNotNull(type, "type should not be null"); Preconditions.checkNotNull(cluster, "cluster should not be null"); Preconditions.checkNotNull(configuration, "configuration should not be null"); - return Props.create(new ShardManagerCreator(type, cluster, configuration, shardContext)); + return Props.create(new ShardManagerCreator(type, cluster, configuration, datastoreContext)); } @Override @@ -244,8 +245,9 @@ public class ShardManager extends AbstractUntypedActor { ShardIdentifier shardId = getShardIdentifier(memberName, shardName); Map peerAddresses = getPeerAddresses(shardName); ActorRef actor = getContext() - .actorOf(Shard.props(shardId, peerAddresses, shardContext), - shardId.toString()); + .actorOf(Shard.props(shardId, peerAddresses, datastoreContext). + withMailbox(ActorContext.MAILBOX), shardId.toString()); + localShardActorNames.add(shardId.toString()); localShards.put(shardName, new ShardInformation(shardName, actor, peerAddresses)); } @@ -352,19 +354,19 @@ public class ShardManager extends AbstractUntypedActor { final String type; final ClusterWrapper cluster; final Configuration configuration; - final ShardContext shardContext; + final DatastoreContext datastoreContext; ShardManagerCreator(String type, ClusterWrapper cluster, - Configuration configuration, ShardContext shardContext) { + Configuration configuration, DatastoreContext datastoreContext) { this.type = type; this.cluster = cluster; this.configuration = configuration; - this.shardContext = shardContext; + this.datastoreContext = datastoreContext; } @Override public ShardManager create() throws Exception { - return new ShardManager(type, cluster, configuration, shardContext); + return new ShardManager(type, cluster, configuration, datastoreContext); } } }