Commit graph

116 commits

Author SHA1 Message Date
Patrik Nordwall
aaa620c35e =clu #17362 Make cluster.joinSeedNodes equivalent to conf seed-nodes
* the difference was in the retry of failed join attempt
* also clarify the documentation
2015-05-13 10:48:18 +02:00
hepin
ccca503b4d +clu #16736 add registerOnMemberRemoved to get notified when current member removed from the cluster 2015-05-08 12:58:12 +08:00
Patrik Nordwall
fe98dae650 =clu #13875 Fix regression in leader selection
* 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.
2015-03-14 11:41:28 -07:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Patrik Nordwall
617cd31046 Merge pull request #16792 from akka/wip-16726-down-restarted-patriknw
=clu #16726 Down member automatically when restarted
2015-02-13 09:14:44 +01:00
Patrik Nordwall
37f6a6581c =clu #16726 Down member automatically when restarted
* 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.
2015-02-13 09:14:00 +01:00
Roland Kuhn
5e1fd1db6c Merge pull request #16763 from akka/wip-cleanup-actor-∂π
fix all non-deprecation warnings
2015-02-06 20:54:12 +01:00
Patrik Nordwall
71ccb4c21b =clu #13875 Exclude unreachability observations from downed
* 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.
2015-02-06 10:19:48 +01:00
Roland Kuhn
82b8238a9c fix warnings in remote and cluster 2015-01-30 19:02:18 +01:00
Patrik Nordwall
cc7bcf7978 =clu #3973 Make JoinSeedNodeProcess actor name unique
* These names are not used, but for debuggability I prefer real names

(cherry picked from commit 1f2be54eebe5feb2f82c2659c8262f1db8343125)
2014-04-07 14:06:38 +02:00
Patrik Nordwall
b5be06e90c !clu #3920 Remove deprecated akka.cluster.auto-down
* replaced by akka.cluster.auto-down-unreachable-after
2014-03-14 14:11:28 +01:00
Patrik Nordwall
503c4ced8f !clu #3920 Remove deprecated Cluster.publishCurrentClusterState 2014-03-14 14:11:28 +01:00
dario.rexin
2cbad298d6 =all #3858 Make case classes final 2014-03-07 13:20:01 +01:00
Patrik Nordwall
c1f320d621 =clu Remove debug log noise of gossip round
* that log entry is not useful
2014-02-20 11:52:33 +01:00
Adam Voss
cce29dfa51 Changes all occurances of Typesafe copyright to extend to 2014. 2014-02-04 21:20:09 -06:00
Patrik Nordwall
a11fb1dafc =act #3572 Add parens to sender
* 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
2014-01-17 18:21:14 +01:00
Patrik Nordwall
2e5193347e !clu #3617 API improvements related to CurrentClusterState
* Getter for CurrentClusterState in Cluster extension, updated via
  ClusterReadView
* Remove lazy init of readView. Otherwise the cluster.state will be
  empty on first access, wich is probably surprising
* Subscribe to several cluster event types at once, to ensure *one*
  CurrentClusterEvent followed by change events
* Deprecate publishCurrentClusterState, was a bad idea, use sendCurrentClusterState
  instead
* Possibility to subscribe with InitialStateAsEvents to receive events corresponding
  to CurrentClusterState
* CurrentClusterState not a ClusterDomainEvent, ticket #3614
2014-01-16 16:17:44 +01:00
Patrik Nordwall
eaad7ecf7e !clu #3683 Change cluster heartbeat to req/rsp protocol
* The previous one-way hearbeat was elegant, but comlicated to
  understand and without giving much extra value compared to this approach.
* The previous one-way heartbeat have some kind of bug when joining
  several (10-20) nodes at approximately the same time (but not exactly
  the same time) with a false failure detection triggered by the extra heartbeat,
  which would not heal.
* This ping-pong approach will increase network traffic slightly, but heartbeat
  messages are small and each node is limited to monitor (default) 5 peers.
2013-11-15 08:18:52 +01:00
Patrik Nordwall
ff83edea0b Merge pull request #1785 from akka/wip-3458-adjust-biased-gossip-patriknw
+clu #3458 Adjust biased gossip for large cluster
2013-10-18 07:58:50 -07:00
Patrik Nordwall
532c98c6cd +clu #3458 Adjust biased gossip for large cluster 2013-10-18 14:34:36 +02:00
Patrik Nordwall
7d5a3ec30b !clu #3657 Lazy deserialization and TTL of Gossip message payload 2013-10-18 08:29:46 +02:00
Patrik Nordwall
81ca6fe8c8 Merge pull request #1765 from akka/wip-3636-revert-join-uninitialized-patriknw
+clu #3636 Revert join to uninitialized
2013-10-15 07:07:29 -07:00
Patrik Nordwall
ce329e48c1 =clu #3660 Simple speedup of gossip in early phase 2013-10-14 22:16:40 +02:00
Patrik Nordwall
c449f5afff +clu #3636 Revert join to uninitialized
* Revert the change introduced in
  https://github.com/akka/akka/pull/1738/files
* The cleanup/improvements aside of the actual
  feature is not reverted by this patch
* Clarify the documentation
2013-10-14 17:53:07 +02:00
Patrik Nordwall
d3f295e5fe Merge pull request #1738 from akka/wip-3612-join-self-patriknw
+clu #3612 Allow join to uninitialized node
2013-09-29 22:41:15 -07:00
Patrik Nordwall
cb42bf0785 +clu #3612 Allow join to uninitialized node
* join to self not needed when performing manual joining
2013-09-27 14:40:09 +02:00
Patrik Nordwall
d5b25cbbc6 !act #3583 Timer based auto-down
* Replace (deprecate) akka.cluster.auto-down config setting with
  akka.cluster.auto-down-unreachable-after
* AutoDown actor that keeps track of unreachable members
  and performs down from the leader node when they have been
  unreachable for the specified duration
* Migration guide
2013-09-27 14:32:03 +02:00
Patrik Nordwall
dc9fe4f19c !clu #2307 Allow transition from unreachable to reachable
* Replace unreachable Set with Reachability table
* Unreachable members stay in member Set
* Downing a live member was moved it to the unreachable Set,
  and then removed from there by the leader. That will not
  work when flipping back to reachable, so a Down member must
  be detected as unreachable before beeing removed. Similar
  to Exiting. Member shuts down itself if it sees itself as
  Down.
* Flip back to reachable when failure detector monitors it as
  available again
* ReachableMember event
* Can't ignore gossip from aggregated unreachable (see SurviveNetworkInstabilitySpec)
* Make use of ReachableMember event in cluster router
* End heartbeat when acknowledged, EndHeartbeatAck
* Remove nr-of-end-heartbeats from conf
* Full reachability info in JMX cluster status
* Don't use interval after unreachable for AccrualFailureDetector history
* Add QuarantinedEvent to remoting, used for Reachability.Terminated
* Prune reachability table when all reachable
* Update documentation
* Performance testing and optimizations
2013-09-11 13:10:29 +02:00
Björn Antonsson
bbad92c749 !clu #2320 Convert the seen table into something more efficient 2013-09-06 10:18:13 +02:00
Endre Sándor Varga
b566e9393d =act, rem, clu #3521: make serialize-messages work with core modules 2013-08-27 11:05:54 +02:00
Patrik Nordwall
4323a64183 =clu #3546 Change log level of gossip from unknown
* It is pretty normal when joining so users should not be worried
* Change to debug level
2013-08-16 15:29:05 +02:00
Patrik Nordwall
30d34e20bf Make Make Cluster.joinSeedNodes public, see #3468 2013-06-24 12:15:22 +02:00
Björn Antonsson
46966c25ea Merge pull request #1535 from akka/wip-3441-speed-up-cluster-gossip-processing-ban
Speed up cluster gossip processing #3441
2013-06-20 03:56:16 -07:00
Björn Antonsson
1adfcb8454 Speed up cluster gossip processing. See #3441
Check VectorClock for common case first and cache hashCodes. See #3441
Make ClusterDaemon a bit more testable. See #3441
Changing VectorClock and GossipOverview to TreeMaps. See #3441
Make VectorClock private[cluster] and remove unused code. See #3441
2013-06-20 11:36:24 +02:00
Patrik Nordwall
bc367aae96 Count vclock stats when published, not for each received gossip 2013-06-15 23:17:05 +02:00
Roland Kuhn
8df8541801 Merge pull request #1500 from akka/wip-3210-local-only-∂π
make LocalScope mean “purely local” and avoid Props serialization check,...
2013-05-30 08:03:32 -07:00
Roland
92db59183e make LocalScope mean “purely local” and avoid Props serialization check, see #3210 2013-05-29 23:36:39 +02:00
Patrik Nordwall
852be1b9bb Merge pull request #1489 from akka/wip-3192-fixme-patriknw
FIXME in cluster, see #3192
2013-05-28 07:17:16 -07:00
Patrik Nordwall
a323936299 Disable cluster stats by default, see #3348
* Add VectorClockStats
2013-05-28 16:15:57 +02:00
Patrik Nordwall
196a141976 FIXME in cluster, see #3192 2013-05-28 09:02:03 +02:00
Patrik Nordwall
28d1b1f187 Merge pull request #1480 from akka/wip-3388-HeartbeatReq-patriknw
Start heartbeatSender after Welcome, see #3388
2013-05-27 00:17:43 -07:00
Patrik Nordwall
ec1626b746 Start heartbeatSender after Welcome, see #3388
* Otherwise, if the Welcome message is lost, other nodes
  in the cluster will send HeartbeatRequest and it will start
  sending heartbeats without being a real member and the lost Welcome
  is not detected by the other members in the cluster
2013-05-24 15:38:28 +02:00
Patrik Nordwall
18a3b3facf Config of cluster info logging, see #3225 2013-05-23 13:36:35 +02:00
Patrik Nordwall
8f04b53ac7 Merge pull request #1443 from akka/wip-3359-auto-join-patriknw
Remove auto-join config, derive from seed-nodes, see #3359
2013-05-17 04:57:07 -07:00
Patrik Nordwall
ad1eaa6d4a Remove auto-join config, derive from seed-nodes, see #3359 2013-05-17 13:54:51 +02:00
Patrik Nordwall
a0a0f39613 Hardening of cluster member leaving path, see #3309
* Removed leader commands for Shutdown and Exit
* Member shutdown itself  when it sees itself as Exiting
* Singleton cluster with status Exiting will shutdown itself,
  in case the Exiting gossip never arrives
* Exiting member not part convergence check
* Exiting member is removed by leader (on convergence) when the
  exiting member is in the unreachable set, i.e. sucessfully shutdown
* Reverted the change made for #3266, i.e. Exiting is
  detected as unreachable again.
* Adjust ClusterSingletonManager to new Exiting behaviour
* Fix bug in HeartbeatSender, which caused it to continue to
  send heartbeats to removed nodes, instead of rebalancing
* Refactoring of leaderActions method
* Leaving section in docs
2013-05-17 11:39:49 +02:00
Patrik Nordwall
b8b65c9153 Cluster member age, and usage in singleton, see #3195
* Assign internal upNumber when member is moved to Up
* Public API Member.isOlder
* Change cluster singleton to use oldest member instead of leader
* Update samples and docs
2013-05-03 13:38:35 +02:00
Björn Antonsson
539df2e98a Enforce mailbox types on System actors. See #3273 2013-05-03 11:05:32 +02:00
Patrik Nordwall
6635ac4032 Reduce amount of gossip data transferred in idle cluster, see #3279
* When seen same the gossip chat is initated with GossipStatus
  message containing the vclock only
* Remove conversation flag in GossipEnvelope
* Ordinary tell instead of actorSelection when replying
2013-05-02 19:17:09 +02:00
Patrik Nordwall
293c97c71d Quick fix for unreachable exiting, see #3266 2013-05-02 19:17:08 +02:00