From ff5c99a80d4e595dfa7ab2ae585f624e4e4c7f0d Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Wed, 13 Jun 2012 11:04:27 +0200 Subject: [PATCH] Minor cleanup, based on review comments, see #2077 --- .../src/main/scala/akka/cluster/Cluster.scala | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala index 9f241b684d..17842453bb 100644 --- a/akka-cluster/src/main/scala/akka/cluster/Cluster.scala +++ b/akka-cluster/src/main/scala/akka/cluster/Cluster.scala @@ -227,9 +227,9 @@ case class Gossip( // group all members by Address => Seq[Member] val groupedByAddress = (a ++ b).groupBy(_.address) // pick highest MemberStatus - (groupedByAddress.values.foldLeft(Vector.empty[Member]) { (acc, members) ⇒ - acc :+ members.reduceLeft(Member.highestPriorityOf(_, _)) - }).toSet + (Set.empty[Member] /: groupedByAddress) { + case (acc, (_, members)) ⇒ acc + members.reduceLeft(Member.highestPriorityOf) + } } // 3. merge unreachable by selecting the single Member with highest MemberStatus out of the Member groups @@ -238,7 +238,7 @@ case class Gossip( // 4. merge members by selecting the single Member with highest MemberStatus out of the Member groups, // and exclude unreachable val mergedMembers = Gossip.emptyMembers ++ reduceHighestPriority(this.members.toSeq, that.members.toSeq). - filterNot(m ⇒ mergedUnreachable.contains(m)) + filterNot(mergedUnreachable.contains) // 5. merge seen (FIXME is this correct?) val mergedSeen = this.overview.seen ++ that.overview.seen @@ -746,7 +746,9 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector) val localUnreachableMembers = localOverview.unreachable // 1. check if the node to DOWN is in the 'members' set - val downedMember: Option[Member] = localMembers.find(_.address == address).map(m ⇒ m.copy(status = MemberStatus.Down)) + val downedMember: Option[Member] = localMembers.collectFirst { + case m if m.address == address ⇒ m.copy(status = MemberStatus.Down) + } val newMembers = downedMember match { case Some(m) ⇒ log.info("Cluster Node [{}] - Marking node [{}] as DOWN", selfAddress, m.address)