Minor cleanup, based on review comments, see #2077
This commit is contained in:
parent
42c5281d5a
commit
ff5c99a80d
1 changed files with 7 additions and 5 deletions
|
|
@ -227,9 +227,9 @@ case class Gossip(
|
||||||
// group all members by Address => Seq[Member]
|
// group all members by Address => Seq[Member]
|
||||||
val groupedByAddress = (a ++ b).groupBy(_.address)
|
val groupedByAddress = (a ++ b).groupBy(_.address)
|
||||||
// pick highest MemberStatus
|
// pick highest MemberStatus
|
||||||
(groupedByAddress.values.foldLeft(Vector.empty[Member]) { (acc, members) ⇒
|
(Set.empty[Member] /: groupedByAddress) {
|
||||||
acc :+ members.reduceLeft(Member.highestPriorityOf(_, _))
|
case (acc, (_, members)) ⇒ acc + members.reduceLeft(Member.highestPriorityOf)
|
||||||
}).toSet
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. merge unreachable by selecting the single Member with highest MemberStatus out of the Member groups
|
// 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,
|
// 4. merge members by selecting the single Member with highest MemberStatus out of the Member groups,
|
||||||
// and exclude unreachable
|
// and exclude unreachable
|
||||||
val mergedMembers = Gossip.emptyMembers ++ reduceHighestPriority(this.members.toSeq, that.members.toSeq).
|
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?)
|
// 5. merge seen (FIXME is this correct?)
|
||||||
val mergedSeen = this.overview.seen ++ that.overview.seen
|
val mergedSeen = this.overview.seen ++ that.overview.seen
|
||||||
|
|
@ -746,7 +746,9 @@ class Cluster(system: ExtendedActorSystem, val failureDetector: FailureDetector)
|
||||||
val localUnreachableMembers = localOverview.unreachable
|
val localUnreachableMembers = localOverview.unreachable
|
||||||
|
|
||||||
// 1. check if the node to DOWN is in the 'members' set
|
// 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 {
|
val newMembers = downedMember match {
|
||||||
case Some(m) ⇒
|
case Some(m) ⇒
|
||||||
log.info("Cluster Node [{}] - Marking node [{}] as DOWN", selfAddress, m.address)
|
log.info("Cluster Node [{}] - Marking node [{}] as DOWN", selfAddress, m.address)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue