Commit graph

9 commits

Author SHA1 Message Date
Patrik Nordwall
1d1a6383df Distributed pub-sub in cluster, see #3203 2013-04-14 19:58:12 +02:00
Patrik Nordwall
887af975ae Deprecate actorFor in favor of ActorSelection, see #3074
* 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
2013-04-08 18:11:52 +02:00
Patrik Nordwall
7eac88f372 Cluster node roles, see #3049
* Config of node roles cluster.role
* Cluster router configurable with use-role
* RoleLeaderChanged event
* Cluster singleton per role
* Cluster only starts once all required per-role node
  counts are reached,
  role.<role-name>.min-nr-of-members config
*  Update documentation and make use of the roles in the examples
2013-03-18 11:56:11 +01:00
Patrik Nordwall
d98a7ef1e8 Cluster singleton failure due to down-removed, see #3130
* The scenario was that previous leader left.
* The problem was that the new leader got MemberRemoved
  before it got the HandOverDone and therefore missed the
  hand over data.
* Solved by not changing the singleton to leader when receiving
  MemberRemoved and instead do that on normal HandOverDone or
  in failure cases after retry timeout.
* The reason for this bug was the new transition from Down to
  Removed and that there is now no MemberDowned event. Previously
  this was only triggered by MemberDowned (not MemberRemoved) and
  that was safe because that was "always" preceeded by unreachable.
* The new solution means that it will take longer for new singleton
  to startup in case of unreachable previous leader, but I don't
  want to trigger it on MemberUnreachable because it might in the
  future be possible to switch it back to reachable.
2013-03-11 12:37:35 +01:00
Patrik Nordwall
5b844ec1e6 Publish member events when state change first seen, see #3075
* Remove InstantMemberEvent
2013-03-07 14:07:17 +01:00
Patrik Nordwall
323e5c80b5 Polish the API/SPI of remoting, see #2827
* Changed TransportAdapterProvider to support java impl
* Verified java impl of AbstractTransportAdapter and
  ActorTransportAdapter
* Privatized things that should not be public api
* Consistent usage of INTERNAL API marker in scaladoc
* Added some missing doc in conf
* Added missing SerialVersionUID
2013-02-10 17:47:43 +01:00
Patrik Nordwall
4ee299c729 Hardening of another corner case in cluster singleton, see #3017
* It was an unlikely situatation that was not covered,
  the new leader didn't know previous, because it transitioned
  from Start -> BecomeLeader, old leader was removed and got
  LeaderChanged(None), so none of them could request the other
  for hand-over or take-over.
* Taken care of with the retry timeouts, also when leader
  receives LeaderChanged(None)
* The old leader should have received a propert LeaderChanged
  earlier, which is a flaw in the way we publish leader events.
  That part will be fixed in a separate commit.
2013-02-08 08:04:23 +01:00
Patrik Nordwall
c48d9c058e Clarifications of cluster singleton docs, see #2895 2013-01-29 11:03:25 +01:00
Patrik Nordwall
0c38a76c37 Cluster singleton actor pattern, see #2895
* ClusterSingletonManager
* ClusterSingletonManagerSpec multi-node test
* Use in cluster router with single master sample
* Extensive logging to be able to understand what is
  going on
* Java api
* Add cluster dependency to contrib
* Add contrib dependency to sample
* Scaladoc
* rst docs in contrib area, ref from cluster docs
2013-01-25 14:00:28 +01:00