* 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
* 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
* ⇒, →, ←
* 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.
* The scenario described in the issue can cause the quarantine marker to
be lost when creating a new endpoint for that address. Then when later
creating another endpoint from an inbound connection the uid is considered
confirmed and Ack message is accepted, triggering the unexpected seq number
issue.
* The refuseUid was kept in the endpoint policy markers, but that is just very
complicated and as illustrated by this issue not always safe.
* Instead, keep the refuseUid separately so it's not lost when registering
new endpoint.
* The purpose of WasGated was only to try to keep the refuseUid (as far as I know),
and that is not needed any longer.
mima filter
* they can't be stopped immediately because we want to send
some final message and we reply to inbound messages with `Quarantined`
* and improve logging
* Reproduced with cluster sample.
* auto-down=45s
* node1 and node2 joins
* suspend node2 (kill -STOP)
* node1 removes and quarantines node2
* resume node2 (kill -CONT)
* node2 receives heartbeat response from node1, which
is not expected since node2 is supposed to be quarantined
* the reason is that the quarantine is overwritten by gating
remote's shutdown is using `ask` pattern, so it can produce `Status.Failure`, which is not handled in RARP's state `WaitTransportShutdown`.
For fixing it added matching for `Status.Failure` and changed `RemoteTransport`'s shutdown signature to use `akka.Done`, which looks more consistent with other shutdown's and `akka.Done` is more verbose than previously used `Unit`.
Publish appropriate events to the current ActorSystem event stream upon remote ActorSystem shutdown or when current ActorSystem is quarantined by the remote ActorSystem.
(cherry picked from commit 89af8bdb90)
* remove final identifier in serializers
i* revert/deprecate ProtobufSerializer.ARRAY_OF_BYTE_ARRAY
* adding back compatible empty constructor in serializers
* make FSM.State compatible
* add back ActorPath.ElementRegex
* revert SocketOption changes and add SocketOptionV2
see a6d3704ef6
* problem filter for ActorSystem and ActorPath
* problem filter for ByteString
* problem filter for deprecated Timeout methods
* BalancingPool companion
* ask
* problem filter for ActorDSL
* event bus
* exclude hasSubscriptions
* exclude some problems in testkit
* boundAddress and addressFromSocketAddress
* Pool nrOfInstances
* PromiseActorRef
* check with 2.3.9
* migration guide note
* explicit exclude of final class problems