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=aec94ec0805467be82c54efccfb6fb3603dd4c5d;hb=bb1891e328feee08ccd29c96034e967f1eeccece;hp=b6833f3004a18b1a6aca864e0ff0d4fa26348239;hpb=ffe27dc93dc6f6a190287164f10444f4f6838d59;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 b6833f3004..aec94ec080 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 @@ -9,7 +9,6 @@ package org.opendaylight.controller.cluster.datastore; import static akka.pattern.Patterns.ask; -import akka.actor.ActorPath; import akka.actor.ActorRef; import akka.actor.Address; import akka.actor.Cancellable; @@ -260,14 +259,13 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void onShutDown() { - Shutdown shutdown = new Shutdown(); List> stopFutures = new ArrayList<>(localShards.size()); for (ShardInformation info : localShards.values()) { if (info.getActor() != null) { LOG.debug("{}: Issuing gracefulStop to shard {}", persistenceId(), info.getShardId()); FiniteDuration duration = info.getDatastoreContext().getShardRaftConfig().getElectionTimeOutInterval().$times(2); - stopFutures.add(Patterns.gracefulStop(info.getActor(), duration, shutdown)); + stopFutures.add(Patterns.gracefulStop(info.getActor(), duration, Shutdown.INSTANCE)); } } @@ -386,7 +384,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { return; } else if(shardInformation.getActor() != null) { LOG.debug("{} : Sending Shutdown to Shard actor {}", persistenceId(), shardInformation.getActor()); - shardInformation.getActor().tell(new Shutdown(), self()); + shardInformation.getActor().tell(Shutdown.INSTANCE, self()); } LOG.debug("{} : Local Shard replica for shard {} has been removed", persistenceId(), shardId.getShardName()); persistShardList(); @@ -751,7 +749,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void memberRemoved(ClusterEvent.MemberRemoved message) { - String memberName = message.member().roles().head(); + String memberName = message.member().roles().iterator().next(); LOG.debug("{}: Received MemberRemoved: memberName: {}, address: {}", persistenceId(), memberName, message.member().address()); @@ -764,7 +762,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void memberExited(ClusterEvent.MemberExited message) { - String memberName = message.member().roles().head(); + String memberName = message.member().roles().iterator().next(); LOG.debug("{}: Received MemberExited: memberName: {}, address: {}", persistenceId(), memberName, message.member().address()); @@ -777,7 +775,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void memberUp(ClusterEvent.MemberUp message) { - String memberName = message.member().roles().head(); + String memberName = message.member().roles().iterator().next(); LOG.debug("{}: Received MemberUp: memberName: {}, address: {}", persistenceId(), memberName, message.member().address()); @@ -800,7 +798,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void memberReachable(ClusterEvent.ReachableMember message) { - String memberName = message.member().roles().head(); + String memberName = message.member().roles().iterator().next(); LOG.debug("Received ReachableMember: memberName {}, address: {}", memberName, message.member().address()); addPeerAddress(memberName, message.member().address()); @@ -809,7 +807,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } private void memberUnreachable(ClusterEvent.UnreachableMember message) { - String memberName = message.member().roles().head(); + String memberName = message.member().roles().iterator().next(); LOG.debug("Received UnreachableMember: memberName {}, address: {}", memberName, message.member().address()); markMemberUnavailable(memberName); @@ -935,8 +933,8 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { continue; } - LOG.debug("{}: findPrimary for {} forwarding to remote ShardManager {}", persistenceId(), - shardName, address); + LOG.debug("{}: findPrimary for {} forwarding to remote ShardManager {}, visitedAddresses: {}", + persistenceId(), shardName, address, visitedAddresses); getContext().actorSelection(address).forward(new RemoteFindPrimary(shardName, message.isWaitUntilReady(), visitedAddresses), getContext()); @@ -1192,7 +1190,7 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { } } - private Exception getServerChangeException(Class serverChange, ServerChangeStatus serverChangeStatus, + private static Exception getServerChangeException(Class serverChange, ServerChangeStatus serverChangeStatus, String leaderPath, ShardIdentifier shardId) { Exception failure; switch (serverChangeStatus) { @@ -1277,7 +1275,8 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { private void onSaveSnapshotSuccess (SaveSnapshotSuccess successMessage) { LOG.debug ("{} saved ShardManager snapshot successfully. Deleting the prev snapshot if available", persistenceId()); - deleteSnapshots(new SnapshotSelectionCriteria(scala.Long.MaxValue(), (successMessage.metadata().timestamp() - 1))); + deleteSnapshots(new SnapshotSelectionCriteria(scala.Long.MaxValue(), successMessage.metadata().timestamp() - 1, + 0, 0)); } private static class ForwardedAddServerReply { @@ -1315,7 +1314,6 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { private final ShardIdentifier shardId; private final String shardName; private ActorRef actor; - private ActorPath actorPath; private final Map initialPeerAddresses; private Optional localShardDataTree; private boolean leaderAvailable = false; @@ -1363,13 +1361,8 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { return actor; } - ActorPath getActorPath() { - return actorPath; - } - void setActor(ActorRef actor) { this.actor = actor; - this.actorPath = actor.path(); } ShardIdentifier getShardId() { @@ -1628,7 +1621,6 @@ public class ShardManager extends AbstractUntypedPersistentActorWithMetering { private CountDownLatch waitTillReadyCountdownLatch; private PrimaryShardInfoFutureCache primaryShardInfoCache; private DatastoreSnapshot restoreFromSnapshot; - private volatile boolean sealed; @SuppressWarnings("unchecked")