Merge pull request #23910 from akka/wip-isGossipSpeedupNeeded-patriknw

small perf improvement of isGossipSpeedupNeeded for single-dc
This commit is contained in:
Patrik Nordwall 2017-11-06 16:42:28 +01:00 committed by GitHub
commit d7330c3c72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -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.