* 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
* assertion failed: Nodes not part of cluster have marked the Gossip as seen
* trying to mark the Gossip as seen before it has joined, which may happen
if CoordinatedShutdown is running before the node has joined
* 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
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
* Adds JoiningSeedNodesUnsuccessfulReason
* Promotes IncompatibleConfigurationDetectedReason to public API
* Rename class after PR comments
* Use a custom exit code on joinUnsuccesful shuhtdown
* Mima
* Scalafmt
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions
* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021