Commit graph

1140 commits

Author SHA1 Message Date
Patrik Nordwall
96c84a1df6 =rem #17567 Adjust parameters for DeadlineFailureDetector
To be more aligned with PhiAccrualFailureDetector the
DeadlineFailureDetector should trigger after
heartbeat-interval + acceptable-heartbeat-pause
2015-05-29 10:20:42 +02:00
Martynas Mickevičius
0b15a8c2f4 Merge pull request #17532 from 2m/wip-pr-multi-jvm
=pro run multi-jvm tests when validating pr
2015-05-28 16:03:34 +03:00
Martynas Mickevičius
7fc2790458 =pro run multi-jvm tests when validating pr
* addunidoc task via an AutoPlugin that depends on PrValidation and Unidoc autoplugins
* separate cli option logic to a case class
* remove autoplugin for root project
2015-05-28 13:57:50 +03:00
Patrik Nordwall
8a7d7715b5 clu #17565 Invoke OnMemberRemoved callback when
cluster.shutdown

* must also be done when the listener actor stops before the
  MemberRemoved event has been received
* add test for this
* clarify docs with example that shuts down actor system and
  exit jvm
2015-05-27 15:42:53 +02:00
Roland Kuhn
5dc25fbb44 add crosscompilation for 2.12.0-M1 2015-05-21 21:09:30 +02:00
Roland Kuhn
18688fc84b = #17380 fix doc comments for java8 doclint
* actor and cluster-metrics comments
* agent/camel/cluster/osgi/persistence/remote comments
* comments in contrib/persistence-tck/multi-node/typed
2015-05-18 12:51:36 +02: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
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
Patrik Nordwall
c68ebc6d5a Merge pull request #17219 from hepin1989/fix-#16736
+clu #16736 add registerOnMemberRemoved to get notified when current mem...
2015-05-13 10:20:30 +02:00
Patrik Nordwall
b30e460be7 = #17342 Make 2.4 binary compatible with 2.3
(cherry picked from commit 89af8bdb90)

* remove final identifier in serializers

i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY

* adding back compatible empty constructor in serializers

* make FSM.State compatible

* add back ActorPath.ElementRegex

* revert SocketOption changes and add SocketOptionV2
  see a6d3704ef6

* problem filter for ActorSystem and ActorPath

* problem filter for ByteString

* problem filter for deprecated Timeout methods

* BalancingPool companion

* ask

* problem filter for ActorDSL

* event bus

* exclude hasSubscriptions

* exclude some problems in testkit

* boundAddress and addressFromSocketAddress

* Pool nrOfInstances

* PromiseActorRef

* check with 2.3.9

* migration guide note

* explicit exclude of final class problems
2015-05-11 21:11:52 +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
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
c1d14f1887 = #17240 Use some more DeadLetterSuppression
* sysmsg.Terminate, sysmsg.DeathWatchNotification, io.Tcp.Closed
  were needed to silence normal usage of http client/server
* other things based on jenkins logs, but not a complete audit

(cherry picked from commit 270e3b2f49af3c34fd5ea4c3bcfd8257402b5cbe)
2015-04-22 21:40:23 +02:00
Patrik Nordwall
c991d5f1d1 =str #17200 Stop shard region when MemberRemoved
Two issues:

1) ShardRegion actor must stop itself when the node is shutting down,
   ie. when receiving MemberRemoved(selfAddress)
2) ShardCoordinator must not persist anything when the node is shutting
   down. MemberRemoved of other shard regions will trigger Terminated,
   which must not be persisted, because then the next coordinator will
   replay those events and end up in wrong state. This is a problem
   announced itself when using leaving as illustrated in the new test.

To solve the second issue I have added a new ClusterShuttingDown event
that is published before the MemberRemoved events. Note that Terminated
is triggered by MemberRemoved.

(cherry picked from commit 1b272c72597beece9d93f0054f4b58e3d25f9ae2)
2015-04-22 12:46:30 +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
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
30df518421 =tes Use ConversionCheckedTripleEquals 2015-03-10 08:17:03 +01:00
Andrei Pozolotin
6332f888ce +all #16632 Make serialization identifiers configurable in reference.conf 2015-03-05 11:55:05 -06: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
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
hepin
8554b8a5ab =clu #16667 fix Inconsistent message order in ClusterMessageSerializer & MessageSerializer 2015-01-29 18:05:07 +08: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
Konrad Malawski
c73603f707 Merge pull request #16366 from kustosz/role-info-in-jmx-api
+clu #15489 expose cluster member roles in JMX getClusterStatus
2014-11-24 12:43:07 +01:00
kustosz
8d32c88b6d +clu #15489 expose cluster member roles in JMX getClusterStatus 2014-11-21 17:14:02 +01:00
Andrei Pozolotin
d83acb92c3 = akka-*: full name space for loggers - resolve #16138
reflect logger name changes in the migration guide

fix typo in migration guide

fix typo in migration guide (xml)
2014-11-18 09:17:07 -06: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
Martynas Mickevičius
9311e9474e =pro Grab binary version for MIMA combatibility testing from a setting.
Thanks to @jsuereth
2014-10-28 15:13:13 +02:00
Roland Kuhn
1eda0d9b23 =act,clu,rem #15828 Turkish I bug
Conflicts:
	akka-cluster/src/main/scala/akka/cluster/ClusterSettings.scala
2014-09-09 10:05:19 +02: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
4e9592b4db +clu #15365 Make cluster.UniqueAddress public
(cherry picked from commit 2a2caeebd585d6dde53bbca0125e62626f7bae51)

Conflicts:
	akka-cluster/src/main/scala/akka/cluster/Member.scala
2014-06-10 11:23:23 +02:00
Martynas Mickevicius
fdcd964165 =pro #15031 separate sbt build file for every module 2014-05-14 10:05:09 +02:00
Patrik Nordwall
a97de7db90 =rem #13960 #13989 #13742 #13985 Optimize EndpointWriter
* 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
2014-04-24 13:39:58 +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
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
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