Don't add MemberExited as unreachable in SBR, #2995 (#29988)

This commit is contained in:
Patrik Nordwall 2021-02-12 16:35:41 +01:00 committed by GitHub
parent 497885a78b
commit 7b3667a070
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -269,9 +269,9 @@ import akka.remote.artery.ThisActorSystemQuarantinedEvent
case MemberWeaklyUp(m) => addWeaklyUp(m) case MemberWeaklyUp(m) => addWeaklyUp(m)
case MemberUp(m) => addUp(m) case MemberUp(m) => addUp(m)
case MemberLeft(m) => leaving(m) case MemberLeft(m) => leaving(m)
case MemberExited(m) => exited(m)
case UnreachableMember(m) => unreachableMember(m) case UnreachableMember(m) => unreachableMember(m)
case MemberDowned(m) => unreachableMember(m) case MemberDowned(m) => unreachableMember(m)
case MemberExited(m) => unreachableMember(m)
case ReachableMember(m) => reachableMember(m) case ReachableMember(m) => reachableMember(m)
case ReachabilityChanged(r) => reachabilityChanged(r) case ReachabilityChanged(r) => reachabilityChanged(r)
case MemberRemoved(m, _) => remove(m) case MemberRemoved(m, _) => remove(m)
@ -473,7 +473,7 @@ import akka.remote.artery.ThisActorSystemQuarantinedEvent
else ""}, " + else ""}, " +
s"[${strategy.unreachable.size}] unreachable of [${strategy.members.size}] members" + s"[${strategy.unreachable.size}] unreachable of [${strategy.members.size}] members" +
indirectlyConnectedLogMessage + indirectlyConnectedLogMessage +
s", all members in DC [${strategy.allMembersInDC.mkString(", ")}], full reachability status: ${strategy.reachability}" + s", all members in DC [${strategy.allMembersInDC.mkString(", ")}], full reachability status: [${strategy.reachability}]" +
unreachableDataCentersLogMessage) unreachableDataCentersLogMessage)
} }
@ -570,6 +570,15 @@ import akka.remote.artery.ThisActorSystemQuarantinedEvent
} }
} }
def exited(m: Member): Unit = {
if (selfDc == m.dataCenter) {
log.debug("SBR exited [{}]", m)
mutateMemberInfo(resetStable = true) { () =>
strategy.add(m)
}
}
}
def addJoining(m: Member): Unit = { def addJoining(m: Member): Unit = {
if (selfDc == m.dataCenter) { if (selfDc == m.dataCenter) {
log.debug("SBR add Joining/WeaklyUp [{}]", m) log.debug("SBR add Joining/WeaklyUp [{}]", m)