=rem #3870 Stop re-delivery of system messages when watching non-existing sys
* We don't know the UID so we can't quarantine, but we can stop the endpoint writer and drop outstanding system messages
This commit is contained in:
parent
f1edf78979
commit
aa6bdd197e
9 changed files with 62 additions and 25 deletions
|
|
@ -164,7 +164,7 @@ private[akka] class RemoteWatcher(
|
|||
watchingNodes foreach { a ⇒
|
||||
if (!unreachable(a) && !failureDetector.isAvailable(a)) {
|
||||
log.warning("Detected unreachable: [{}]", a)
|
||||
addressUids.get(a) foreach { uid ⇒ quarantine(a, uid) }
|
||||
quarantine(a, addressUids.get(a))
|
||||
publishAddressTerminated(a)
|
||||
unreachable += a
|
||||
}
|
||||
|
|
@ -173,7 +173,7 @@ private[akka] class RemoteWatcher(
|
|||
def publishAddressTerminated(address: Address): Unit =
|
||||
context.system.eventStream.publish(AddressTerminated(address))
|
||||
|
||||
def quarantine(address: Address, uid: Int): Unit =
|
||||
def quarantine(address: Address, uid: Option[Int]): Unit =
|
||||
remoteProvider.quarantine(address, uid)
|
||||
|
||||
def rewatchRemote(watchee: ActorRef, watcher: ActorRef): Unit =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue