Commit graph

1476 commits

Author SHA1 Message Date
Johan Andrén
8c5a0fac8e StreamRefs spec fail (#28018)
* Wrong timeout used for subscription timeout

(cherry picked from commit 05098eef1d9ecdbb5f0c8c5cda29aa1890ddc9e6)
2019-10-17 08:55:03 +02:00
Patrik Nordwall
5de5dec6ee
Merge pull request #27988 from akka/wip-protobuf-3.10.0-patriknw
Update protobuf-java and protoc to 3.10.0
2019-10-15 11:09:30 +02:00
Patrik Nordwall
4e8a5d333b
More structured logger names, #27922 (#27934)
* some cluster logging improvements
* most logger names are actually good, when using ActorLogging since
  config can be setup on the package (prefix)
* override logSource when StageLogging is used
* replace system.log with more specific logger
2019-10-14 17:55:12 +02:00
Scala Steward
63df007685 protoc version 3.10.0 2019-10-14 11:11:21 +02:00
Patrik Nordwall
bb6d6365b1
Scaladoc improvements (#27929)
* private[akka] visibility on some internal classes
  * found via unidoc
* fix Scaladoc links
2019-10-10 14:17:01 +02:00
Patrik Nordwall
7173275ba4 Revert "Harden DowningProviderSpec, and detect terminated before initialized, #27840"
This reverts commit f2466cad49f0eb413d74532af205aa34a4386505.

* and temporary pending of DowningProviderSpec
2019-10-08 17:40:50 +02:00
Patrik Nordwall
e350a7b71a Harden DowningProviderSpec, and detect terminated before initialized, #27840 (#27911)
* better error reporting if ActorSystem is terminated before it has been
  fully initialized
* handle exception in DowningProviderSpec
2019-10-08 13:53:57 +02:00
Patrik Nordwall
a217d5566e
Remove auto-downing, #27788 (#27855)
* moved to cluster tests, in new package akka.cluster.testkit
* changed config in tests
* migration guide
* documentation clarificiations for Downing and Leaving
* update warnings in Singleton and Sharding
2019-10-03 14:08:43 +02:00
Johannes Rudolph
650068aa45
Convert 2.5.x MiMa excludes to subdirectory style
Using this script:

```sh

set -ex

FILE=$1
DIR=`dirname $FILE`
TMP_FILE=$DIR/_existing.excludes
FINAL_FILE=$DIR/2.5.x.backwards.excludes/_existing.excludes

mv $FILE $TMP_FILE
mkdir $DIR/2.5.x.backwards.excludes
(echo "# This file contains all excludes added before changing to the subdirectory style" && cat $TMP_FILE) > $FINAL_FILE
rm $TMP_FILE
git add $FINAL_FILE
```
2019-10-01 13:59:56 +02:00
Patrik Nordwall
a7c43cf573
Config to exclude class prefix from serialize-messages, #24273 (#27517)
* Config to exclude class prefix from serialize-messages, #24273

* Adding no-serialization-verification-needed-class-prefix, with "akka." included
  by default
* This is important now when we disable Java serialization by default.
  There will be many complaints about Akka internal classes that are not marked with
  NoSerializationVerificationNeeded, and we can't really sprinkle that everywhere.
* Not removing NoSerializationVerificationNeeded usage in Akka classes because that
  may break bin compat, even though it's needed any more.

* fix DisabledJavaSerializerWarningSpec
2019-09-26 22:51:12 +02:00
Patrik Nordwall
c0099b728e
Merge pull request #27733 from johanandren/wip-26392-StreamRefSpec-failure
Eliminate race in multi node StreamRefSpec
2019-09-19 11:25:12 +02:00
Johan Andrén
60a6e9bf5b Eliminate race in multi node StreamRefSpec #26392 2019-09-17 15:42:22 +02:00
Patrik Nordwall
bbf9e7c617
Merge pull request #27670 from akka/wip-24955-multi-dc-events-patriknw
Avoid publication of duplicate UnreachableDataCenter, #24955
2019-09-16 13:59:17 +02:00
Arnout Engelen
e6859253e5 Update to MiMa 0.6.0 (#27558) 2019-09-11 11:28:12 +02:00
Patrik Nordwall
cf4c954009 Avoid publication of duplicate UnreachableDataCenter, #24955
* see scenario in added test, extracted from debug logs "New gossip published"
  from MultiDcSplitBrainSpec
* it publised UnreachableDataCenter even though it had already published that,
  when a new cross link is added as unreachable in the reachability table
* don't know why the implementation of diffUnreachableDataCenter/isReachable was
  so complicated, but no tests are failing for the changed implementation
2019-09-10 10:29:13 +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