From 08de65f0f177872adf7e6f74d6eacec51b3cd9fc Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 23 Aug 2018 17:24:46 +0200 Subject: [PATCH] Fix ShardRegion.changeMembers, #25509 (#25510) --- .../scala/akka/cluster/sharding/ShardRegion.scala | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala index 82693fa29f..f84189a18b 100644 --- a/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala +++ b/akka-cluster-sharding/src/main/scala/akka/cluster/sharding/ShardRegion.scala @@ -480,22 +480,14 @@ private[akka] class ShardRegion( def receiveClusterEvent(evt: ClusterDomainEvent): Unit = evt match { case MemberUp(m) ⇒ if (matchingRole(m)) - changeMembers { - // replace, it's possible that the upNumber is changed - membersByAge = membersByAge.filterNot(_.uniqueAddress == m.uniqueAddress) - membersByAge += m - membersByAge - } + // replace, it's possible that the upNumber is changed + changeMembers(membersByAge.filterNot(_.uniqueAddress == m.uniqueAddress) + m) case MemberRemoved(m, _) ⇒ if (m.uniqueAddress == cluster.selfUniqueAddress) context.stop(self) else if (matchingRole(m)) - changeMembers { - // filter, it's possible that the upNumber is changed - membersByAge = membersByAge.filterNot(_.uniqueAddress == m.uniqueAddress) - membersByAge - } + changeMembers(membersByAge.filterNot(_.uniqueAddress == m.uniqueAddress)) case _: MemberEvent ⇒ // these are expected, no need to warn about them