* The scenario was (probably) that a node was restarted with
same host:port and then didn't join the same cluster. The DData
Replicator in the original cluster would continue sending messages
to the new incarnation resulting in false removals.
* The fix is that DData Replicator includes the system uid of the sending
or target system in messages and if recipient gets a message that is from/to
unknown it will discard it and thereby not spreading information across
different clusters.
* Reproduced in ClusterReceptionistSpec
* Much hardening of other things in ClusterReceptionistSpec
* There are also some improvements to ClusterReceptionist to not leak
Listing with refs of removed nodes.
* use ClusterShuttingDown
* The reason for using sender system uid instead of target uid in messages
like Read and Write is that then the optimization for sending same message
to many destinations can remain.
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
* ⇒, →, ←
* 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
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
* 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.
* It was a timing race condition in the test that was exposed
by the change in PR #25315. Full state is now sent immediately
when receiving the DeltaNack and that makes the Update complete
much faster for that case than before.
* That resulted in that the delta propagations from previous
updates were still in the buffer to be sent out when the
incr(4) was performed. Those deltas contained the NoDeltaPlaceholder,
which caused the inrc(4) delta to also be folded into NoDeltaPlaceholder
and thereby not propagated.
* Before the DeltaNack the buffer had time to be flushed before the incr(4)
and therefore no NoDeltaPlaceholder.
* Use deterministic order of the target nodes for the writes when
type RequiresCausalDeliveryOfDeltas, otherwise the random pick
of targets caused that delta sequence numbers were missing for
susequent updates
* Resend immediately when receiving DeltaNack instead of waiting
for timeout. DeltaNack can happen when there are multiple
concurrent updates from same node because each starts a WriteAggregator
and a later Update might bypass an earlier
* The ThreadLocal Serialization.currentTransportInformation is used for serializing local
actor refs, but it's also useful when a serializer library e.g. custom serializer/deserializer
in Jackson need access to the current ActorSystem.
* We set this in a rather ad-hoc way from remoting and in some persistence plugins, but it's only
set for serialization and not deserialization, and it's easy for Persistence plugins or other
libraries to forget this when using Akka serialization directly.
* This change is automatically setting the info when using the ordinary serialize and deserialize
methods.
* It's also set when LocalActorRefProvider, which wasn't always the case previously.
* Keep a cached instance of Serialization.Information in the provider to avoid
creating new instances all the time.
* Added optional Persistence TCK tests to verify that the plugin is setting this
if it's using some custom calls to the serializer.
Each build is now over 40mb logs.
A lot of DEBUG logging was left on for test failures that have been
fixed. Added an issue # for ones that are still valid or if if it on
as the test verifies debug
* looks like the ActorSystem is shutdown when leaving
* Included in MultiNodeSpec, i.e. all multi-node tests:
akka.coordinated-shutdown.terminate-actor-system = off
akka.oordinated-shutdown.run-by-jvm-shutdown-hook = off
* since the ordering can change based on the member's status
it's not possible to use ordinary - for removal
* similar issue at a few places where ageOrdering was used