This is an automated email from the ASF dual-hosted git repository.

fanningpj pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko.git


The following commit(s) were added to refs/heads/main by this push:
     new 98ed377601 Use ClusterShuttingDown in ddata Replicator (#2765)
98ed377601 is described below

commit 98ed377601cb845ba448a14a699410ee466baae3
Author: PJ Fanning <[email protected]>
AuthorDate: Sun Mar 22 10:45:39 2026 +0100

    Use ClusterShuttingDown in ddata Replicator (#2765)
---
 .../main/scala/org/apache/pekko/cluster/ddata/Replicator.scala    | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
 
b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
index 2721108a36..8c876ad785 100644
--- 
a/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
+++ 
b/distributed-data/src/main/scala/org/apache/pekko/cluster/ddata/Replicator.scala
@@ -1453,7 +1453,12 @@ final class Replicator(settings: ReplicatorSettings) 
extends Actor with ActorLog
     if (hasDurableKeys)
       durableStore ! LoadAll
     // not using LeaderChanged/RoleLeaderChanged because here we need one node 
independent of data center
-    cluster.subscribe(self, initialStateMode = InitialStateAsEvents, 
classOf[MemberEvent], classOf[ReachabilityEvent])
+    cluster.subscribe(
+      self,
+      initialStateMode = InitialStateAsEvents,
+      classOf[MemberEvent],
+      ClusterShuttingDown.getClass,
+      classOf[ReachabilityEvent])
   }
 
   override def postStop(): Unit = {
@@ -1595,6 +1600,7 @@ final class Replicator(settings: ReplicatorSettings) 
extends Actor with ActorLog
     case MemberUp(m)                   => receiveMemberUp(m)
     case MemberExited(m)               => receiveMemberExiting(m)
     case MemberRemoved(m, _)           => receiveMemberRemoved(m)
+    case ClusterShuttingDown           => 
receiveMemberRemoved(cluster.selfMember)
     case evt: MemberEvent              => receiveOtherMemberEvent(evt.member)
     case UnreachableMember(m)          => receiveUnreachable(m)
     case ReachableMember(m)            => receiveReachable(m)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to