Commit graph

482 commits

Author SHA1 Message Date
Andrea
cd3d68a77c =act switch to java std lib ThreadLocalRandom 2015-11-06 14:04:33 +01:00
Kailuo Wang
90cba9ce0d +act #18356 Metrics based resizer for router 2015-10-22 11:14:00 -04:00
Patrik Nordwall
94896e8e75 =rem #18339 Use explicit handshake timeout
* instead of using transport failure detector
* add a new config property akka.remote.handshake-timeout, but
  for netty.tcp and netty.ssl the existing netty.tcp.connection-timeout
  setting will be used
* add test of the timeouts
* mima filter for internal ProtocolStateActor
2015-10-19 14:34:52 +02:00
Veiga Ortiz, Héctor
c08bc317e2 +clu #13584 Accept joining to be WeaklyUp during network split
* experimental feature, disabled by default
* Adding documentation to mention weakly up members.
  plus adding new diagram.
2015-09-04 12:44:47 +02:00
Patrik Nordwall
2566c7a2b6 =clu #18156 Harden AdaptiveLoadBalancingRouterSpec 2015-08-26 12:13:50 +02:00
Patrik Nordwall
bc13e1b4c2 =clu #13802 Introduce max-total-nr-of-instances for cluster aware routers 2015-08-21 14:51:59 +02:00
Patrik Nordwall
a94f7cdc98 =clu #15412 Add paths(system) method to Group router
to be able to use the role correctly in cluster aware routers

This solution is very similar to what we did for nrOfInstances
in Pool routers.
2015-08-21 14:40:56 +02:00
Patrik Nordwall
5cf35938d0 =clu #13226 Prune vector clocks from removed member 2015-08-11 15:40:42 +02:00
Konrad Malawski
75c5810970 +clu #17870 add Java api for joinSeedNodes 2015-07-01 10:45:14 +02:00
Patrik Nordwall
7239fd8397 =clu #16890 Add missing barrier in LeaderDowningNodeThatIsUnreachableSpec 2015-06-24 16:11:49 +02:00
Roland Kuhn
0de9f0ff40 Merge pull request #17641 from kukido/kukido-spellings-normalization
=doc #17329 Fixed and normalized spellings in ScalaDoc and comments
2015-06-19 12:06:53 +02:00
Patrik Nordwall
2a88f4fb29 =clu Improve cluster downing
* avoid using Down and Exiting member from being used for joining
* delay shut down of Down member until the information is spread
  to all reachable members, e.g. downing several nodes via one node
* akka.cluster.down-removal-margin setting
  Margin until shards or singletons that belonged to a
  downed/removed partition are created in surviving partition.
  Used by singleton and sharding.
* remove the retry count parameters/settings for singleton in
  favor of deriving those from the removal-margin
2015-06-18 12:55:54 +02:00
Andrey Myatlyuk
bc791eb86c =doc #17329 Fixed and normalized spellings in ScalaDoc and comments 2015-06-02 21:06:25 -07:00
Thibaut Robert
12cbf83927 =rem improve remote watching mechanism
This improves the remote watching mechanism as follows: Watch requests
are intercepted by the RemoteWatcher and not sent on the wire,
excepted watches from the remoteWatcher itself.

RemoteWatcher is then in charge of forwarding DeathWatchNotification
messages to the watchers.

This reduces the number of watch message to one per watchee, even if
there are several watcher on the same watchee (instead of n+1 before).

Reversed watch messages, and watch on ref with undefinedUid are excluded from
interception by the RemoteWatcher and so are handled as before this commit.

In addition, the following changes are made:
- Keep watchers in a map watchee -> watchers for more efficient retrieval
(in a scala Multimap)
- Keep watchees in a map address -> watchee for more efficient retrieval
(in a scala Multimap)
- Use of InternalActorRef more thoroughly to avoid casts
- Rewatch use a standard watch message, as the distinction is longer needed
2015-05-13 14:10:35 +02:00
Konrad Malawski
8b045173ad =pro #17397 improve PR validation speed tremendously (skipping things)
+ enable parallel execution
+ exclude perf tests (TODO mark more as such)
+ uses sbt-dependency-graph plugin
+ implement dependency tracking for testing of only these
+ project which could have been affected by a given PR
2015-05-08 14:09:12 +02:00
Endre Sándor Varga
a6e10f154f =rem #16224: Not terminate connections if quarantine id do not match 2015-03-26 16:11:48 +01:00
Julian Tescher
00f6a58e7c Changes all occurances of Typesafe copyright to extend to 2015 2015-03-10 14:12:19 -07:00
Patrik Nordwall
30df518421 =tes Use ConversionCheckedTripleEquals 2015-03-10 08:17:03 +01: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
Roland Kuhn
82b8238a9c fix warnings in remote and cluster 2015-01-30 19:02:18 +01:00
Patrik Nordwall
8e6d81242f =clu #15439 Harden SurviveNetworkInstabilitySpec
* The problem was that the sys msg buffer was filled up during
  the deploy phase and triggered quarantine too early and therefore
  the "hello" reply was lost. The "hello" ping-pong was not good
  enough for deploying one-by-one.

(cherry picked from commit f729afe1fa5401e562655e5a0aaab3f9789e4df6)

Conflicts:
	akka-cluster/src/multi-jvm/scala/akka/cluster/SurviveNetworkInstabilitySpec.scala
2015-01-30 11:47:18 +01:00
Andrei Pozolotin
7b9f77a073 + akka-cluster-metrics: new akka module
* new akka module split from akka-cluster
* provide sigar provisioning
* fix ewma usage
* resolve #16121
* see #16354
2015-01-19 10:23:54 -06:00
Patrik Nordwall
bc87dcad78 =clu #16624 Expand the monitored nodes when unreachable
* Otherwise the leader might stall (cannot remove downed nodes)
  if many nodes are shutdown at the same time and nobody in the
  remaining cluster is monitoring some of the shutdown nodes.

(cherry picked from commit 1354524c4fde6f40499833bdd4c0edd479e6f906)

Conflicts:
	akka-cluster/src/main/scala/akka/cluster/ClusterHeartbeat.scala
	project/AkkaBuild.scala
2015-01-19 13:22:46 +01:00
Patrik Nordwall
a1d7199a42 =rem #16623: Fix concurrent reliable delivery actors
(cherry picked from commit 4f7c90660226b05edc3581454d18fd53a4762802)

Conflicts:
	project/AkkaBuild.scala
2015-01-19 10:03:40 +01:00
Roland Kuhn
3a5b79dd50 Merge pull request #16266 from akka/wip-16224-cluster-restart-test-patriknw
=clu #16224 Add test for cluster node restart
2014-12-16 14:17:53 +01:00
kustosz
8d32c88b6d +clu #15489 expose cluster member roles in JMX getClusterStatus 2014-11-21 17:14:02 +01:00
Patrik Nordwall
a2b762ad53 =clu #16224 Add test for cluster node restart 2014-11-10 15:12:14 +01:00
Konrad 'ktoso' Malawski
3f12ef262f !clu #15042 useRole restriction on local node is now respected
This is an API breaking change if someone implemented their own Routers.
The change is required because the router must know if the local routees
should be started or not so it has to check the roles of the cluster
member (the local one). We could delay this decision of starting local
routees, but that would allow messages to be dead-letter-ed (bad).
2014-10-31 22:33:23 +01:00
Viktor Klang
cd8e97c060 +act - 15757 - Reworks implementation of ActorSystem shutdown
* deprecates awaitTermination, shutdown and isTerminated
  * introduces a terminate-method that returns a Future[Unit]
  * introduces a whenTerminated-method that returns a Future[Unit]
  * simplifies the implementation by removing blocking constructs
  * adds tests for terminate() and whenTerminated
2014-08-25 15:49:28 +02:00
Marcin Kubala
f4793a399f =act,clu,con,doc,per,rem,sam #15114 append missing parens at Actor.sender() invocations 2014-06-20 23:05:51 +02: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
Roland Kuhn
4f4d1d959f =clu #3941 SurviveNetworkInstability ignore leftover pings 2014-03-21 19:56:21 +01:00
Patrik Nordwall
1e445b4eba !act,rem,clu #3920 Remove deprecated old routers 2014-03-14 14:12:11 +01:00
Roland Kuhn
4dd5fe3257 Merge pull request #2047 from drexin/wip-3858-make-case-classes-final-drexin
=all #3858 Make case classes final
2014-03-11 16:06:31 +01:00
dario.rexin
826cc74de3 !tes #2971 Make TestKit.remaining throw AssertionError outside of within 2014-03-11 11:23:12 +01:00
dario.rexin
2cbad298d6 =all #3858 Make case classes final 2014-03-07 13:20:01 +01:00
Patrik Nordwall
2548ebd727 =clu #3871 Harden SurviveNetworkInstabilitySpec
* The problem was that the unreachability observed by second node
  was leaking from previous test step and when adding the blackhole,
  it could not heal and that caused the leader to not be able to remove
  the downed second node because some other nodes were still marked as
  unreachable.
* The first node was not included in the the awaitAllReachable check
  in the previous step, and the order of awaitAllReachable and
  awaitMembersUp was wrong.
* Included the awaitAllReachable check in assertCanTalk.
* Changed to two-way blackhole and using barrier instead of scheduled
  event to trigger the exceptions when the blackhole was in place
* We should investigate if unreachable observations from downed node
  can be excluded in the convergence check. Created separate ticket for
  that 3875.
2014-02-19 11:42:16 +01:00
Patrik Nordwall
f1edf78979 Merge pull request #1980 from vossad01/wip-3838-SetCopyrightYear2014-vossad01
Update Copyright to 2014, see #3838
2014-02-06 11:14:38 +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
186f2ae5e1 =act #3853 Fix consistent hashing group inconsistency
* It did not use the toString (including full address of destination) of the
  node entries, instead it used the hashCode which always included the self
  address
* This was a regression in 2.3, it is correct in 2.2.3
2014-02-02 11:16:47 +01:00
Patrik Nordwall
ba3587de64 =clu #3826 Harden cluster.StressSpec
* The Identify message didn't get through to the master, which
  was stopping at the same time, and it didn't got redirected to
  deadletters, i.e. the "termination race"
2014-01-20 11:01:10 +01: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
Endre Sándor Varga
cf58402dd9 !rem #3765: Change the defaults for remoting
- 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
2014-01-17 11:29:22 +01:00
Patrik Nordwall
e441d1b29b !pro #3809 Update to config 1.2.0
* Changed all duration reads to use implicit conversion
  and the new getDuration to reduce boilerplate
2014-01-15 19:26:47 +01:00
Björn Antonsson
003609c9c5 =pro #3759 Changed to using non-deprecated ScalaTest Matchers 2013-12-18 11:32:51 +01:00
Björn Antonsson
00a268b6b3 =pro #3753 Override dependency versions from command line 2013-12-03 16:47:10 +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
402674ce10 +clu #3627 Cluster router group with multiple paths per node
* Use the ordinary routees.paths config property instead of
  cluster.routees-path
* Backwards compatible in deprecation phase
2013-10-16 11:44:00 +02:00