* 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.
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
* 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
* 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
This should be safe for a rolling update between Akka 2.5.x and 2.6.0
also if additional-bindings were disabled in 2.5.x because:
* if 2.6.0 sends one of those the serializer (akka-misc) exists in 2.5.x
so deserialization will work via the serializerId
* if 2.5.x sends one of those with java serialization it can be
deserialized in 2.6.0 since the java serializer exists
(disabling java serialization by default is another ticket)
* historical problems with serialization of remote Deploy messages
in Akka 2.4.x should be gone now
* 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
* 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
* 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>
* 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
* Harden RemotingSpec: Retry if address is taken
The test requires that the ActorSystem not be started when doing the
selection to using port = 0 is not an option.
Fixes#25657
* simply ignore that compat test for 2.13 because the only reason for
testing Java serialization compat is that in Akka 2.4 it used
Java serialization (and in 2.5 when additional-serialization-bindings
was disabled)
* 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
* 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
* ResetSystemMessageSeqNrSpec should not run with classic remoting, #26849
* Jenkins job overrides config with -Dakka.remote.artery.enabled=off
* use Scalatest withFixture
* 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
* 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