* 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
* 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
* 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
* 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
* 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)
* 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
* 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.
* 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
* 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
* 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.
* 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
* 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
* 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