Add named exception to detect when a cluster node has been quarantined by others #18758

Publish appropriate events to the current ActorSystem event stream upon remote ActorSystem shutdown or when current ActorSystem is quarantined by the remote ActorSystem.
This commit is contained in:
Eugene Dzhurinsky 2015-12-06 20:14:44 -05:00
parent 9d71142748
commit fb763040f2
7 changed files with 38 additions and 5 deletions

View file

@ -129,8 +129,11 @@ private[remote] final case class ShutDownAssociation(localAddress: Address, remo
/**
* INTERNAL API
*/
@SerialVersionUID(1L)
private[remote] final case class InvalidAssociation(localAddress: Address, remoteAddress: Address, cause: Throwable)
@SerialVersionUID(2L)
private[remote] final case class InvalidAssociation(localAddress: Address,
remoteAddress: Address,
cause: Throwable,
disassociationInfo: Option[DisassociateInfo] = None)
extends EndpointException("Invalid address: " + remoteAddress, cause) with AssociationProblem
/**
@ -1000,7 +1003,8 @@ private[remote] class EndpointReader(
localAddress,
remoteAddress,
InvalidAssociationException("The remote system has quarantined this system. No further associations " +
"to the remote system are possible until this system is restarted."))
"to the remote system are possible until this system is restarted."),
Some(AssociationHandle.Quarantined))
}
private def deliverAndAck(): Unit = {