From 95e0ac43e9791c1981b8687940c5149234386108 Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Thu, 2 Nov 2017 18:26:16 +0100 Subject: [PATCH] small perf improvement of isGossipSpeedupNeeded for single-dc --- .../src/main/scala/akka/cluster/ClusterDaemon.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala b/akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala index 8399fafaea..8688024bbe 100644 --- a/akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala +++ b/akka-cluster/src/main/scala/akka/cluster/ClusterDaemon.scala @@ -945,8 +945,12 @@ private[cluster] class ClusterCoreDaemon(publisher: ActorRef) extends Actor with def gossipSpeedupTick(): Unit = if (isGossipSpeedupNeeded) gossip() - def isGossipSpeedupNeeded: Boolean = - latestGossip.overview.seen.count(membershipState.isInSameDc) < latestGossip.members.count(_.dataCenter == cluster.selfDataCenter) / 2 + def isGossipSpeedupNeeded: Boolean = { + if (latestGossip.isMultiDc) + latestGossip.overview.seen.count(membershipState.isInSameDc) < latestGossip.members.count(_.dataCenter == cluster.selfDataCenter) / 2 + else + (latestGossip.overview.seen.size < latestGossip.members.size / 2) + } /** * Sends full gossip to `n` other random members.