From d9e873644ee58e7619e9aa23e39173459cf92f35 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 8 Nov 2016 15:08:32 +0100 Subject: [PATCH] minor cleanup of cluster.subscribe usage --- .../main/scala/akka/cluster/sharding/ShardCoordinator.scala | 3 ++- .../akka/cluster/singleton/ClusterSingletonManager.scala | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala index 0e6b191884..957991b828 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardCoordinator.scala @@ -21,6 +21,7 @@ import akka.cluster.ddata.Replicator._ import akka.dispatch.ExecutionContexts import akka.pattern.{ AskTimeoutException, pipe } import akka.persistence._ +import akka.cluster.ClusterEvent /** * @see [[ClusterSharding$ ClusterSharding extension]] @@ -840,7 +841,7 @@ class DDataShardCoordinator(typeName: String, settings: ClusterShardingSettings, val CoordinatorStateKey = LWWRegisterKey[State](s"${typeName}CoordinatorState") val initEmptyState = State.empty.withRememberEntities(settings.rememberEntities) - node.subscribe(self, ClusterShuttingDown.getClass) + node.subscribe(self, ClusterEvent.InitialStateAsEvents, ClusterShuttingDown.getClass) // get state from ddata replicator, repeat until GetSuccess getState() diff --git a/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala b/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala index 5b65df3317..620930a40f 100644 --- a/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala +++ b/akka-cluster-tools/src/main/scala/akka/cluster/singleton/ClusterSingletonManager.scala @@ -24,6 +24,7 @@ import akka.cluster.MemberStatus import akka.AkkaException import akka.actor.NoSerializationVerificationNeeded import akka.cluster.UniqueAddress +import akka.cluster.ClusterEvent object ClusterSingletonManagerSettings { @@ -432,7 +433,7 @@ class ClusterSingletonManager( require(!cluster.isTerminated, "Cluster node must not be terminated") // subscribe to cluster changes, re-subscribe when restart - cluster.subscribe(self, classOf[MemberExited], classOf[MemberRemoved]) + cluster.subscribe(self, ClusterEvent.InitialStateAsEvents, classOf[MemberExited], classOf[MemberRemoved]) setTimer(CleanupTimer, Cleanup, 1.minute, repeat = true) @@ -712,7 +713,6 @@ class ClusterSingletonManager( } whenUnhandled { - case Event(_: CurrentClusterState, _) ⇒ stay case Event(MemberExited(m), _) ⇒ if (m.uniqueAddress == cluster.selfUniqueAddress) { selfExited = true