* Replace stash with internal bufferi, j.u.LinkedList
* Replace FSM with become
* Adaptive backoff, important to backoff, but not for too long,
depends on environment and use case
* Prioritize heartbeat messages from remote watcher and cluster
failure detector
* Use payload messages as heartbeats for transport failure detector,
change transport failure detector to be based on absolute timeout,
see ticket #13989 and #13742
* Log remote disassociate from transport failure detector,
see ticket #13985
* Add benchmark sample in akka-sample-remote-scala
* actor name [endpointWriter] is not unique
* The problem was that the test used 100ms until ungate and
that made it possible for the endpointWriter to not be
completely terminated (and removed) before Ungate and
new Send in idle state, which created new endpointWriter
* I could reproduce it with a sleep in EndpointWriter.postStop
* The solution is to start the scheduled Ungate after Terminated
has been received
* because it is not referentially transparent; normally we reserved parens for
side-effecting code but given how people thoughtlessly close over it we revised
that that decision for sender
* caller can still omit parens
- removed retry-window and related settings
- removed gate-invalid-addresses-for
- gate is now mandatory
- remoting has a dedicated dispatcher by default
- updated tests to work with changed timings
- added doc section for association lifecycle
- Added refuseUid support in Akka protocol and EndpointManager
- The AkkaProtocolTransport interface is now a first-class citizen in remoting and endpoint actors
- The AkkaProtocolTransport interface is now a first-class citizen in endpoint actors
* When actor system was restarted quickly the new system replied to
heartbeats and Terminated was never triggered for actors in old
system.
* Solved by sending an extra Watch system message when first hearbeat
is received for an address and when a change of system uid is detected.
- Also introduces reason in the Disassociate message
- Reliable delivery now transitions from idle to active if there are pending system msgs
- Minor fix in merging receive buffers (reduces resends)
- Tweaked WireFormat
- Removed busy-wait in startup
- throwing the proper exception type in EndpointReader
- InvalidAssociationException extends NoStackTrace
* Supress TimeoutReason logging
* Add logTermination in FSM
* Improve some error messages, incl making them unique
* Cookie only logged if debug enabled
* In EC2 connection time out is around 1 minute. A few messages
were sent after quarantining and these caused endless restarts,
and connect attempts with 1 minute interval.
* This change makes sure that the endpoint is stopped after the first
failed connection attempt.
* Changed default settings for netty connection-timeout, and matching
retry window to allow for 3 restarts
* Deprecate all actorFor methods
* resolveActorRef in provider
* Identify auto receive message
* Support ActorPath in actorSelection
* Support remote actor selections
* Additional tests of actor selection
* Update tests (keep most actorFor tests)
* Update samples to use actorSelection
* Updates to documentation
* Migration guide, including motivation
- Moved system messages to their own package.
- All queueing operations are now hidden behind a SystemMessageList value class
- Introduced dual SystemMessageList types to encode the ordering in the type.
- Protects against accidentally missed reverse calls or accidentally reversed lists
- Makes ordering expectations by fields/parameters explicit
- Fixed serialization tests
- Fixes to logging in HierarchyStressSpec