Commit graph

1462 commits

Author SHA1 Message Date
Arnout Engelen
e6859253e5 Update to MiMa 0.6.0 (#27558) 2019-09-11 11:28:12 +02:00
Johan Andrén
66280846c1 StreamRefs cancellation behavior #27639
* Updated multi-jvm test
* Updated migration guide
2019-09-06 08:55:51 +02:00
Patrik Nordwall
4edbcde280 fix deprecation warning for protobuf enum 2019-09-05 19:32:15 +02:00
Johan Andrén
b68d67008a
Deprecate actor materializer (#27538) 2019-09-05 16:08:37 +02:00
Johan Andrén
84cd059bb2
Remove the Artery flight recorder (#27591) 2019-09-05 13:11:22 +02:00
Patrik Nordwall
46804546c6 harden MultiDcSplitBrainSpec, #24955
* separate the testing of publication of DataCenterReachabilityEvent
  to separate test case, since doing it in the other cases is difficult
  due to timing and race conditions (flipping back-n-forth)
2019-08-27 13:51:03 +02:00
Christopher Batey
6c13949aec Use protobuf3 for internal serialization (#27366)
* Only load akka protobuf serializer if protobuf on the classpath
2019-08-15 17:43:19 +02:00
Christopher Batey
a2ecd915cb
Remove extensions to protobuf config checker messages (#27400)
* Remove extensions to protobuf config checker messages

AFAICT these are never serialized/deserialized. Removing as they use a
deprecated feature of protobuf (required fields in extensions)
* Remove extensions from protobuf
2019-08-02 09:16:57 +01:00
Christopher Batey
89e269d5d8 Remove catchall silents from prod code (#27432)
* WIP

* Remove catch all silent annocations from prod code
2019-07-30 11:12:23 +02:00
Helena Edelson
96abaf2168 Add clarification to doc on cluster cross boundary use of DeathWatch (#27385)
* Add clarification to doc on cluster cross boundary use of DeathWatch #27376

* Clarrified reasoning and behavior update, and updated warning config name to same convention.
2019-07-25 14:12:57 +02:00
Christopher Batey
69fd98a39d Fix SurviveNetworkInstabilitySpec (#27383) 2019-07-19 07:27:08 -07:00
Johan Andrén
03b8c543fc Serialization support for wrapped stream refs (#27353) 2019-07-16 10:11:33 -07:00
Helena Edelson
a110be8f69
Fix intercept of Watch in use of safe remote features #27333 (#27334)
And added one more case for cluster watcher, watching remote no cluster watchee, and the reverse.
2019-07-12 12:18:37 -07:00
Patrik Nordwall
3efc1c2877
Disable Java serialization by default, #22333 (#27285)
* akka.actor.allow-java-serialization = off
* Moved primitive (Long, Int, String, ByteString) serializers
  from akka-remote to akka-actor since they had no dependency
  and are useful also in local systems, e.g. persistence.
  * e.g. needed for persistence-tck
  * less allow-java-serialization=on in tests
* CborSerializable in Jackson/test module for ease of use
* JavaSerializable for Java serialization in tests, already in akka-testkit,
  but misconfigured
* Made tests pass
  * allow-java-serialization=on in akka-persistence
  * allow-java-serialization=on in classic remoting tests
  * JavaSerializable and CborSerializable in other remoting tests
* Added serialization for
  * Boolean
  * java.util.concurrent.TimeoutException, AskTimeoutException
* support for testing serialization with the inmem journal
* utility to verifySerialization, in SerializationTestKit
* remove AccountExampleWithCommandHandlersInState becuase not possible to serialize State when it's not static
  * Effect() is factory in EventSourcedBehavior  class
* test the account examples
* SharedLeveldbJournal.configToEnableJavaSerializationForTest
* support for exceptions from remote deployed child actors
  * fallback to akka.remote.serialization.ThrowableNotSerializableException
    if exception is not serializable when wrapped in system messages from
    remote deployed child actors and Status.Failure messages
  * it's implemented in `WrappedPayloadSupport.payloadBuilder`
* update reference documentation
* serialize-messages=off in most places, separate ticket for
  improving or removing that feature
* migration guide, including description of rolling update

* fix 2.13 compiler error

* minor review feedback
2019-07-11 14:04:24 +02:00
Patrik Nordwall
8d69388d0a Deprecate classic remoting classes (#27237)
* Sprinkle deprecated annotation to public classes for classic remoting
* Use right dispatcher setting for a few remoting actors
* New Artery events for QuarantinedEvent, GracefulShutdownQuarantinedEvent
  and ThisActorSystemQuarantinedEvent because old were not good
  and would cause binary compatibility trouble when we remove classic
* silence more deprecation warnings
2019-07-10 14:26:51 +02:00
Helena Edelson
501848dcca
cluster.joinSeedNodes(...) does not throw warnings when seed hostname contains underscores #25287 (#27222) 2019-07-08 05:52:22 -07:00
Patrik Nordwall
16f2009786 fix two log messages related to use-unsafe-remote-features-without-cluster (#27241)
* one was always logged at startup when using cluster provider
* the other was logged (at debug) each time an ordinary local actor was started
2019-07-05 08:11:33 +01:00
Christopher Batey
7c94367d13
Cluster heartbeat timings (#26757)
* Serializer for Heartbeat and HeartbeatRsp that includes sendTime and sequenceNr

A future release will be required to use the serialiser once there has
been a release with this PR so that old nodes can deserialise the new
message.

* Cross DC heartbeating sequenceNr and sendTime
2019-07-04 14:21:24 +01:00
Patrik Nordwall
50e99e08d8 Use short configurable timeout for expectNoMessage #27212 (#27213)
* Use short configurable timeout for expectNoMessage #27212

* consistent with ActorTestKit in Typed

* fix config
2019-06-26 15:35:20 +01:00
Helena Edelson
611e32de91 Disable remote watch and remote deployment outside Cluster (#27126) 2019-06-21 14:15:36 +02:00
Helena Edelson
eab2b96bd7
Merge pull request #27173 from akka/wip-27172-increase-fd-nodes-patriknw 2019-06-20 04:22:10 -07:00
Patrik Nordwall
8752a3acdb increase monitored-by-nr-of-members config, #27172 2019-06-18 18:28:37 +02:00
Patrik Nordwall
74238f1cf2 Handle InitJoin messages correctly, #27169
* IntiJoin message changed from companion message to case class with config
  parameter when the join compat check was added. Some `case InitJoin =>` were
  not changed.
* Resulting in unhandled InitJoin and no InitJoinNack replies.
2019-06-18 17:39:22 +02:00
Christopher Batey
fd1acb9326 Upgrade to Aeron 1.19.1 (#27043)
* Upgrade to Aeron 1.19.1

No mention of on the wire incompatibilities in release notes for
versions 1.15->1.19

* fix compilation issue with new aeron

* Set default publication unblock timeout to 40s

This needs to be bigger than the liveness timeout. Aeron
defaults these to 5seconds and 10seconds. Akka uses 20s
for the liveness so use 40s for the unblock to keep the same
relation between the properties as Aeron has.

* Add publication unblock timeout in sharedmedia driver

* Update akka-remote/src/main/scala/akka/remote/artery/ArterySettings.scala

Co-Authored-By: Helena Edelson <helena@users.noreply.github.com>
2019-06-13 21:44:29 +02:00
Patrik Nordwall
10d32fceb9 scheduleWithFixedDelay vs scheduleAtFixedRate, #26910
* previous `schedule` method is trying to maintain a fixed average frequency
  over time, but that can result in undesired bursts of scheduled tasks after a long
  GC or if the JVM process has been suspended, same with all other periodic
  scheduled message sending via various Timer APIs
* most of the time "fixed delay" is more desirable
* we can't just change because it's too big behavioral change and some might
  depend on previous behavior
* deprecate the old `schedule` and introduce new `scheduleWithFixedDelay`
  and `scheduleAtFixedRate`, when fixing the deprecation warning users should
  make a concious decision of which behavior to use (scheduleWithFixedDelay in
  most cases)

* Streams
* SchedulerSpec
  * test both fixed delay and fixed rate
* TimerSpec
* FSM and PersistentFSM
* mima
* runnable as second parameter list, also in typed.Scheduler
* IllegalStateException vs SchedulerException
* deprecated annotations
* api and reference docs, all places
* migration guide
2019-06-05 11:38:04 +02:00
Bartosz Firyn
e61703bb4a Update reference.conf (#27048) 2019-05-31 11:27:56 +02:00
Arnout Engelen
814cfa286c Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +02:00
Patrik Nordwall
a6f717c9b0 fix a race condition in ClusterReadView #24710 (#26922)
* remove lazy initialization for _cachedSelf
* don't update _state and friends after close()
2019-05-23 14:08:25 +02:00
Patrik Nordwall
a2658cc8a0
Merge pull request #26933 from akka/wip-ClusterSingletonProxySpec-patriknw
more classic remoting leftovers
2019-05-17 11:07:29 +02:00
Patrik Nordwall
35e7e07488
Some more internal-dispatcher usages, #26915
* tried to investigate the (small) increase in LatencySpec that occured
  when the internal-dispatcher was introduced
* couldn't see significant difference when running locally
* found a few more places where the internal-dispatcher should be used
* my thinking is that the additional latency could have been caused by
  hopping between dispatchers, but I'm not sure if any of these
  changes will have an effect (we'll see in Jenkins job)
* more clear router props
2019-05-15 19:35:57 +02:00
Patrik Nordwall
71e9bdc262 more classic remoting leftovers
* fix several tests that were using akka.remote.netty.tcp config
* replace akka.tcp with akka in more places
* some doc cross references to remoting.md
2019-05-15 19:34:50 +02:00
Patrik Nordwall
0c8d46121a Disable LargeMessageClusterSpec for classic remoting, #26889 2019-05-13 15:43:59 +02:00
Patrik Nordwall
3b538dc84c internal-dispatcher in akka.cluster.StartupWithOneThreadSpec (#26862) 2019-05-06 10:08:11 +02:00
Christopher Batey
25648bdf36
Be more explicit that a node is shutting down as it was marked as DOWN (#26861) 2019-05-03 14:15:22 +01:00
Patrik Nordwall
2bbf13f707
Run CoordinatedShutdown from ActorSystem.terminate #25213 (#26830) 2019-05-03 10:47:47 +02:00
Johan Andrén
81b1e2ef9b Internal dispatcher to protect against starvation (#26816)
* Allow for dispatcher aliases and define a internal dispatcher
* Test checking dispatcher name
* MiMa for Dispatchers
* Migration guide entry
* No need to have custom dispatcher lookup logic in streams anymore
* Default dispatcher size and migration note about that
* Test checking exact config values...
* Typed receptionist on internal dispatcher
* All internal usages of system.dispatcher gone through
2019-05-02 22:35:25 +02:00
Patrik Nordwall
82c761f026
remove Future from StreamRefs mat val, #24372 (#26847) 2019-05-02 16:54:37 +02:00
Patrik Nordwall
cf0329681e
Merge pull request #26835 from akka/wip-26832-assertInvariants-patriknw
Handle CoordinatedShutdown exiting-completed when not joined, #26832
2019-05-02 08:24:43 +02:00
Christopher Batey
efc3adc08d
Make artery the default remoting (#26772) 2019-05-01 08:12:09 +01:00
Patrik Nordwall
a77db34f8f Handle CoordinatedShutdown exiting-completed when not joined, #26832
* assertion failed: Nodes not part of cluster have marked the Gossip as seen
* trying to mark the Gossip as seen before it has joined, which may happen
  if CoordinatedShutdown is running before the node has joined
2019-04-30 14:47:53 +02:00
Arnout Engelen
f17941d614 Move 'Remoting' under 'Clustering' in the docs (#26774)
* Move 'Remoting' under 'Clustering' in the docs #26491

* As it is typically not used directly, but as an implementation detail of
Clustering.

* Warn when remoting is used directly #26491
2019-04-29 13:18:03 +02:00
Martynas Mickevičius
2184a617a3 Drop MiMa filters for 2.4.x (#26781) 2019-04-23 09:24:29 +02:00
Johannes Rudolph
4c9783a2dc
Merge pull request #26762 from chbatey/fix-cluster-round-robin-spec
Fix regression in ClusterRoundRobinSpec
2019-04-17 11:41:02 +02:00
Christopher Batey
d75d44de4a Fix regression in MultiDcHeartbeatTakingOverSpec introduced by removing compiler warnings (#26761) 2019-04-17 11:25:59 +02:00
Christopher Batey
aca530d93b Fix regression in ClusterRoundRobinSpec 2019-04-17 08:34:47 +01:00
Christopher Batey
8dd6f790bd Remove warnings in akka-cluster (#26739)
Also undeprecate isTerminated but mark it internal
2019-04-16 19:10:31 +02:00
Patrik Nordwall
caa1752206 Support disable of join compat config check, #26719 2019-04-15 17:23:05 +02:00
Christopher Batey
65ccada280 Lease API + use in cluster singleton and sharding, #26480 (#26629)
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
2019-03-28 13:31:56 +01:00
Ignasi Marimon-Clos
c097e8144a Extends collection of shutdown Reasons (e.g. ClusterJoinUnsuccessfulReason) (#26570)
* Adds JoiningSeedNodesUnsuccessfulReason

* Promotes IncompatibleConfigurationDetectedReason to public API

* Rename class after PR comments

* Use a custom exit code on joinUnsuccesful shuhtdown

* Mima

* Scalafmt
2019-03-26 14:52:50 +01:00
Arnout Engelen
d390fcf183 Introduce warning silencer plugin (#26588)
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions

* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021
2019-03-26 14:41:29 +01:00