Commit graph

1501 commits

Author SHA1 Message Date
Arnout Engelen
38cda5147f Fix race conditions in Artery TCP binding to 0 (#27456) 2019-08-06 06:21:28 -07: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
rohitkumbhar
50b63464fa Hostname verification should be done by the client only (#26906)
Setting the endpoint identification algorithm to HTTPS on the server engine
forces the client to preset a certificate that contains the server name. This
is rather unlikely and it fails TLS handshake today

This change will allow hostname verification to be done by the client only
2019-07-15 13:43:50 +02: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
Arnout Engelen
47c65d266a Don't WARN when the user explicitly enabled unsafe features (#27289) 2019-07-05 18:25:35 +01: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
Patrik Nordwall
f9d76aa030
Log Dropped from DeadLetterListener, #26432 (#27160)
* Log Dropped from DeadLetterListener, #26432

* Move Dropped from akka-actor-typed to akka-actor
* Use it in Artery
* Use in right way from GroupRouter, not via deadLetters
* Remove "without sender" in log message from DeadLetterListener,
  since there is no sender in Typed
* mima filter
* add sender to Dropped
2019-07-04 14:52:42 +02:00
Helena Edelson
611e32de91 Disable remote watch and remote deployment outside Cluster (#27126) 2019-06-21 14:15:36 +02:00
Patrik Nordwall
af525fd82a
Make Artery connect failure logging less verbose, #26865 (#27073)
* silence "Restarting graph due to failure" logging by RestartFlow, #26865
* only log first error in connectionFlowWithRestart as warning and then debug
* avoid double logging of connection refused
* mima
2019-06-14 11:17:16 +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
Christopher Batey
e7e628c831 Internal stable markers
A marker on a class means that its name shouldn't change, if any of its
methods should not change they will be marked as well
2019-05-31 14:15:09 +01:00
Christopher Batey
96eed177dc
Make netty and aeron dependencies optional (#27017)
* Make netty and aeron dependencies optional
* Include agrona as a mandatory dependency (used in compression tables)
Refs #25169
2019-05-29 09:50:28 +01:00
Christopher Batey
28fbd28e7a
Various internal stable markers (#27004) 2019-05-29 07:09:12 +01:00
Arnout Engelen
814cfa286c Scala 2.13.0 rc2 (#26967) 2019-05-24 08:11:50 +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
Helena Edelson
4bd40be864
Promote ApiMayChange features #26532 (#26838) 2019-05-07 07:01:59 -07: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
14de568570 Remove remainings of actorFor, #26190
* remove undefinedUid specials related to actorFor
* mention in migration guide
* remove special case for watch of undefinedUid
2019-05-02 19:17:40 +02:00
Christopher Batey
efc3adc08d
Make artery the default remoting (#26772) 2019-05-01 08:12:09 +01: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
Christopher Batey
0ab7a96ae2
Remove Scala 2.11 for Akka 2.6 (#26760)
* Remove Scala 2.11 for Akka 2.6

* Remove unused import

* Update akka-actor/src/main/scala-2.13/akka/compat/Future.scala

Co-Authored-By: chbatey <christopher.batey@gmail.com>

* Update akka-actor/src/main/scala-2.13/akka/compat/Future.scala

Co-Authored-By: chbatey <christopher.batey@gmail.com>

* Remove last few bits of 2.11
2019-04-19 07:53:27 +01:00
Arnout Engelen
e390f1397b
Fix warnings in akka-remote (#26735) 2019-04-16 20:26:09 +02:00
Arnout Engelen
6207484c0e
Review follow ups for PR #26653 (#26668)
* Review follow ups for PR #26653

* Internal marker for error messages
2019-04-05 11:04:32 +02:00
Arnout Engelen
76479b8770
[not for merge] Warnings as errors in akka-actor (#26634)
Warnings as errors in akka-actor
2019-04-03 13:13:44 +02:00
Christopher Batey
fbcb8c9f33 Review follow ups for PR #26653 2019-04-03 07:32:38 +01:00
Patrik Nordwall
a8741a696d Notice too long quarantine-after-silence config value #26512 2019-03-19 08:13:51 +01:00
Auto Format
75579bed17 format source with scalafmt, #26511 2019-03-15 10:23:46 +01:00
Auto Format
ce404e4f53 format source with scalafmt 2019-03-11 16:58:55 +01:00
Patrik Nordwall
0f40491d42 manual adjustments before scalafmt
* fix formatting error

* reversePrepend instead of reverse_:::
  * because it is causing trouble for AvoidInfix formatting

* prepare for AvoidInfix

* fix try-catch
2019-03-11 16:58:55 +01:00
Patrik Nordwall
5c96a5f556 replace unicode arrows
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
  then it's complicated to avoid that when snippets are
  located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
2019-03-11 16:58:51 +01:00
Johan Andrén
59cae4d07b
Better logging on artery start when bind address used 2019-03-07 14:58:09 +01:00
Yoel García Díaz
3605aff283 output UID only once for bind and local addresses 2019-03-07 12:33:35 +00:00
Yoel Garcia Diaz
85ac56d20c formatting 2019-03-07 10:13:54 +00:00
Yoel Garcia Diaz
639e2a5ae3 single log statement
interpolation made sense here because log.info supports a max of 4 args
2019-03-07 08:34:53 +00:00
Yoel Garcia Diaz
f241e1b860 spelling 2019-03-07 08:29:28 +00:00
Yoel Garcia Diaz
59aaf0a529 spelling 2019-03-07 08:07:38 +00:00
Yoel Garcia Diaz
b2fcc9f1b0 log both listening and binding addresses if they are different 2019-03-07 08:03:39 +00:00
Yoel Garcia Diaz
9e16c02b0d fix login the bind address when remoting starts 2019-03-07 06:58:28 +00:00
Gaël Bréard
a04479ff54 Add marker support in logging filters #26544
Signed-off-by: Gaël Bréard <gael.breard@orange.com>
2019-03-04 11:24:19 +01:00
Christopher Batey
d91f487358 Log ActorRef rather than just path for watch/unwatch 2019-02-05 15:37:35 +00:00
Arnout Engelen
d274e039f9
Various scala-2.13.0-M5 fixes
fix akka-actor-tests compile errors

some tests still fail though

Fix test failures in akka-actor-test

Manually work arround missing implicit Factory[Nothing, Seq[Nothing]]

see https://github.com/scala/scala-collection-compat/issues/137

akka-remote scalafix changes

Fix shutdownAll compile error

test:akka-remote scalafix changes

akka-multi-node-testkit scalafix

Fix akka-remote-tests multi-jvm compile errors

akka-stream-tests/test:scalafix

Fix test:akka-stream-tests

Crude implementation of ByteString.map

scalafix akka-actor-typed, akka-actor-typed-tests

akka-actor-typed-tests compile and succeed

scalafix akka-camel

scalafix akka-cluster

akka-cluster compile & test

scalafix akka-cluster-metrics

Fix akka-cluster-metrics

scalafix akka-cluster-tools

akka-cluster-tools compile and test

scalafix akka-distributed-data

akka-distributed-data fixes

scalafix akka-persistence

scalafix akka-cluster-sharding

fix akka-cluster-sharding

scalafix akka-contrib

Fix akka-cluster-sharding-typed test

scalafix akka-docs

Use scala-stm 0.9 (released for M5)

akka-docs

Remove dependency on collections-compat

Cherry-pick the relevant constructs to our own
private utils

Shorten 'scala.collections.immutable' by importing it

Duplicate 'immutable' imports

Use 'foreach' on futures

Replace MapLike with regular Map

Internal API markers

Simplify ccompat by moving PackageShared into object

Since we don't currently need to differentiate between 2.11 and

Avoid relying on 'union' (and ++) being left-biased

Fix akka-actor/doc by removing -Ywarn-unused

Make more things more private

Copyright headers

Use 'unsorted' to go from SortedSet to Set

Duplicate import

Use onComplete rather than failed.foreach

Clarify why we partly duplicate scala-collection-compat
2019-01-11 12:27:18 +01:00
kerr
bdc90052aa Update headers from 2018 to 2019 once for all. (#26165)
* Add CopyrightHeader support for sbt-boilerplate plugin.
* Add CopyrightHeader support for `*.proto` files.
* Add regex match for both `–` and `-` for CopyrightHeader.
* Add CopyrightHeader support for sbt build files.
* Update copyright from 2018 to 2019.
2019-01-02 11:55:26 +01:00
Helena Edelson
408fab3313
Fix compiler warnings in akka-remote, akka-actor-typed. (#26139)
Fix compiler warnings in akka-remote, akka-actor-typed. (#26139)
2018-12-20 09:10:54 -08:00
hepin1989
c38a5dcf9c Run scalafix to remove unused imports again. 2018-12-17 21:10:11 +08:00