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%2Fcluster%2Fdatastore%2FShardManager.java;h=f55774f09104f5fcf3d0623583dab81fb74ab9d8;hp=8d8527a240fab4ebdeed00aae39882f108944b19;hb=40d9485acea90c26af4658ab3e90f969bd476f60;hpb=e22159a0e53bf93a94908e2c3988ceeba9ed8183 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 8d8527a240..f55774f091 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 @@ -12,13 +12,13 @@ import akka.actor.ActorPath; import akka.actor.ActorRef; import akka.actor.Address; import akka.actor.Props; -import akka.actor.UntypedActor; import akka.event.Logging; import akka.event.LoggingAdapter; import akka.japi.Creator; import org.opendaylight.controller.cluster.datastore.messages.FindPrimary; 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 java.util.HashMap; import java.util.List; @@ -47,7 +47,7 @@ import java.util.Map; *
  • When a local shard replica comes alive *

    */ -public class ShardManager extends UntypedActor { +public class ShardManager extends AbstractUntypedActor { // Stores a mapping between a shard name and the address of the current primary private final Map shardNameToPrimaryAddress = new HashMap<>(); @@ -68,7 +68,7 @@ public class ShardManager extends UntypedActor { * configuration or operational */ private ShardManager(String type){ - ActorRef actor = getContext().actorOf(Shard.props(Shard.DEFAULT_NAME + "-" + type)); + ActorRef actor = getContext().actorOf(Shard.props("shard-" + Shard.DEFAULT_NAME + "-" + type), "shard-" + Shard.DEFAULT_NAME + "-" + type); defaultShardPath = actor.path(); } @@ -83,7 +83,7 @@ public class ShardManager extends UntypedActor { } @Override - public void onReceive(Object message) throws Exception { + public void handleReceive(Object message) throws Exception { if (message instanceof FindPrimary) { FindPrimary msg = ((FindPrimary) message); String shardName = msg.getShardName(); @@ -92,6 +92,9 @@ public class ShardManager extends UntypedActor { } else { getSender().tell(new PrimaryNotFound(shardName), getSelf()); } + } else if(message instanceof UpdateSchemaContext){ + // FIXME : Notify all local shards of a schemaContext change + getContext().system().actorSelection(defaultShardPath).forward(message, getContext()); } }