* The leader is selected by picking the first reachable member, but in
#13875 we had to let the self member be unreachable in the Reachability
table and that was not considered in the logic of the leader selection.
* That means changed behavior that is unwanted, especially when there
is only one node left the leader could be evaluated to None instead
of Some(selfUniqueAddress).
* Note that #13875 has not been released yet.
=act #16620 Reverted back error logging for establishing connection exception
=act #16620 Reverted back error logging for establishing connection exception in UdpConnection
To implement the feature VirtualPathContainer.! was overridden to handle
ActorSelectionMessages. In ActorSelectionMessages only SelectChildName
elements are supported to disallow counterintuitive behaviors (like
completing all outstanding ask operations).
This greatly simplifies the Receptionist by providing the ability to
express a polymorphic map that calculates the type of each value from
the type of its key. Another possible use of this map is to express the
Extensions map in a type-safe fashion (no casts needed).
* When new uid is seen in join attempt we can down existing
member and thereby new restarted node will be able to join
in later retried join attempt without relying on auto-down.
When a java.net.BindException occurs, it produces an exception with a cause and
message that is "null" because it's cause returns no message. This notably occurs
when a java.net.BindException occurs during construction of a TCP selector. This
patch causes a log message like this:
java.net.BindException: Can't assign requested address
instead of like this:
null
which is quite a bit more helpful when diagnosing connection issues.
Guardians are now consistent with other actors in that they
do not handle messages they can't act upon. Instead of handling
messages and forwarding them to Dead Letters, guardians now
simply ignore these messages.
* also improved fault handling in various places (bugs found)
* and manually triggered Update must be distinguished from scheduled
auto updates, otherwise manual Update will schedule extra auto updates
* Skip observations from downed node (quarantined is marked down immediately)
in convergence check
* Skip observations from downed node when picking "reachable" targets for gossip.
* This also means that we must accept gossip with own node marked as unreachable,
but that should not be spread to the external membership events.