* stash messages and signals while waiting for children to be stopped
* handle watch of other actors
* exception from unstash
* exception from first setup
* merge RestartSupervisor and BackoffSupervisor
* API change: restartWithLimit => restart.withLimit
* remove unused PreStart
* docs
* move BubblingSample to separate class
* fix: fail after more than limit in restart.withLimit when deferred factory throws
* match case RestartOrBackoff instead
* use receiveOne instead of receiveMessageType, #25914
* when the type is the same as the probe's type
* formatting
* rename receiveOne to receiveMessage
* rename receiveN to receiveMessages
* have to use different name in javadsl so that became receiveSeveralMessages
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.
* Improve default shard rebalancing algorithm, #26012
* Use rebalance-threshold=1 because it will give the best distribution,
and previous default could result in too large difference between nodes
* Off by one error, difference > threshold vs >=
* Added more unit tests
* Note that in some cases it may still not be optimal, stopping more
shards than necessary, but a different strategy that looks at more
than most and least is out of scope for this issue. In practise
those cases shouldn't matter much.
* Also note that the rebalance interval is by default 10 seconds,
so typically shards will start up before next rebalance tick.
It's intentionally a slow process to not cause instabilities by
moving too much at the same time.
* Added ActorTestKit#stop method and corresponding tests.
* Added 'Stopping actors' section to the docs
* Stop actor now waits until the actor terminates.
Fixes#25825
Provides search domain support for Async DNS.
There are two parts here, first is the search domain support itself,
which is relatively straight forward - on lookup, create a list of hosts
to attempt to resolve based on the search domains configuration
(including the host with no postfix), exclude all those hosts that have
less dots than the configured ndots, and then search until you find one
that returns any records. In this case the search domains are applied for
each nameserver attempt, so if a particular nameserver times out, it
won't attempt to search any more domains on that nameserver.
The second part is in actually detecting the system configuration. I've
only implemented partial support here, it reads /etc/resolv.conf, and
nothing else. There are ways to detect it on other platforms, there are
also environment variables that are supposed to be honored on Linux and
other *nix's, but to keep this change manageable, I've focussed on just
supporting the minimum to meet the Kubernetes service discovery use case,
and documented the limitations.
* Remove exception from typed Terminated
This currently only works for direct child actors and breaks when using
typed supervision.
It could be re-introduced by supervision returning a new special
behavior that the actor adaper for failed with an exception.
* Try out keeping the terminated and adding a ChildTerminated subclass of Terminated
Some tests need updated will fix those if we decide this is better
* Fix duplicate logging + make it Terminated + ChildFailed
* Import service discovery from akka-management
* Rename extension to Discovery to go with akka-discovery name
* Rename interafce to ServiceDisovery
* Import config, aggregate and dns
* Discovery documentation
* Load isolated async-dns if not configured as default
* OSGi for discovery
* Remove warning for not using in production
* Fail if old akka management on classpath
* Only allow async dns to be loaded as an additional resolver
* Use method in all of service discovery, not mechanism
* Mima filter
* Add discovery to aggregate
* Set discovery mima versions
* DnsDiscoverySpec: Only run docker test if docker available
Specifically:
* avoid "internal", as I initially though that meant the Akka framework's internal state of an actor
* dropped "started" in the context of recovering an actor: in order to recover you have to have been already started
* rather than refering to "changes", reference that what's persisted are the actor's received events
* some general English re-wording
* [ttk] Add access to logged events in BehaviorTestKit #25905
`BehaviorTestKit` now has methods to:
- Access to logged events
- Clear all log events
Added section in docs explaining how to check for logs.
Note about the implementation: `CapturedLogEvent` was effectively private to akka. It uses `OptionVal` internally, this makes it impossible to be used from outside akka. To overcome this, I added some methods to translate it to the corresponding `Option` and `Optional`.
* Apply feedback
Clean up `CapturedLogEvent` by using only `Option` in public methods
Use `immutable.Seq` instead of plain `Seq`