* Initialize logging things together. Save 2 fields in ActorContextAdapter (if logging isn't used)
* Dealt with bincomp by handcoding things in Deploy.
* Pass tags in remote deploy messages (serialization)
* Docs plus signature that works for Java API
* Allow tags to be empty or else we can't create an `.empty`
* 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
* _outboundControlIngress is cleared from removedAfterQuarantined via the
startRemoveQuarantinedAssociationTask
* in sendControl it is checking isRemovedAfterQuarantined but a race condition
of the clearing at the same time can cause it to access the outboundControlIngress
anyway, resulting in the IllegalStateException "not initialized yet"
* in the reported case there were severe jvm problems (seen in logs as delayed heartbeats)
* additional check in outboundControlIngress access solves that,
control messages can be dropped
* SSLEngine factory instead of SSLContext and AkkaSSLConfig parameters
in TLS and Tcp
* Update TlsSpec to use SSLEngine
* Keep copy of old TlsSpec for test coverage of deprecated methods
* Update doc example of how to setup a SSLEngine
* full API and deprecations
* don't use default param values
* java doc example
* migration guide
* mima
* update to sslconfig 0.4.0
* hostname verification changed in sslconfig, so use jvm verifier
* change to mima file
* update doc sample, init SSLContext once
* remove FIXME for halfClosed
* 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
* Eager creation of system materializer on system startup #26850
* System level materializers always spawned under a specific system actor #26850
* No need for RepointableActorRef logic anymore
* MiMa filter
* Make the creation timeout higher
* Replace MaterializerSettings with Attributes #25559
* Field access to settings deprecated to make stages use attributes instead
* Internal stages updated to use attributes
* Docs on ActorMaterializerSettings updated to recommend away from using it
* Verify all stages stopped after each testcase in FlowGroupBySpec
* Subscription timeout attributes merged into one
* Fix race when binding to port '0' in artery tcp
Splitting the 'binding' and 'starting inbound streams' seems to make
it a bit easier to follow as well
* 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