akka/akka — pull request #2081 by rkuhn (2014-03-19 08:53:45+00:00)
Title: +act,rem,mul #3930 track UID for “live” associations

The problem was that a system could go away, and before the connection
is cleared out a restarted system at the same address could connect
back, which would confuse the endpoints: it would attempt a take-over of
the new incoming connection by the old EndpointWriter, which is bogus.
The fix is to kill the old ReliableDeliverySupervisor in this case and
start afresh.

Also in this episode:

- actually stop actors which are “replaced” by the RemoteDaemon
(otherwise would leak; should not happen, but ...)
- watch the parent of remote-deployed actors in the RemoteDaemon to
clean out the children in case the old system goes away without
publishing AddressTerminated (see main scenario above)
- improve MultiNodeSpec to allow injection of configured deployments
into arbitrary ActorSystems
- add label support to LoggingReceive for become-based state machines
- document that it is intentional to swallow Disassociated within the
ThrottlerTransportAdapter
- include number of received elements in the timeout failure message for
TestKit.receiveN