The end goal for akka is to have a new runtime that can be optomoized
for typed actors. However to get the API production ready so it can
start getting adopted it has been decided to only have adapted actor
systems initially.
Further discussion here: https://github.com/akka/akka/issues/24149
Creates the following modules:
akka.actor.typed
akka.persistence.typed
akka.cluster.typed
akka.cluster.sharding.typed
Differences from untyped:
DData and cluster singleton are inside cluster. DData is in the package akka.cluster.dddata.typed
Refs #23632
* The real issue that should be fixed is that there seems to be a race
between the CS and the ClusterSingleton observing OldestChanged
and terminating coordinator singleton before the graceful sharding stop is done
The last time this failed there was no gossip to or from a node that
didn't see fifth coming back.
Also note that this test doesn't quite test what it says as the split
brain is repaired before starting the second actor system but without
extensions to the multi jvm test kit this can't be improved.
Refs #23306
We also probably want to add some more wording explaining you probably don't
want to use remoting directly, but either use a 'proper' protocol like
akka-http to loosely couple or akka-cluster for more coupled systems, but that
could be another PR
Move 'networking' below 'streams' as you don't typically have to deal with it directly
* Revert "fix entityPropsFactory id param, #21809"
This reverts commit cd7eae28f6.
* Revert "Merge pull request #24058 from talpr/talpr-24053-add-entity-id-to-sharding-props"
This reverts commit 8417e70460, reversing
changes made to 22e85f869d.
* AllPersistenceIdsQuery -> PersistenceIdsQuery
* Replaced additional instances of old name allPersistenceIDs with new persistenceIDs in docs and comments
The existing implementation had lots of duplication. The Initializing state
could be removed in favor of using `Pending(Nil)` instead which simplified
the state handling logic further. Also, instead of using `OptionVal[Promise[Done]]`
a special marker value, `NoPromise`, was introduced to mark the case when
no promise was supplied.
Fixes#23953.
Previously there was quite some contention on adding and removing promises. Now
we only cleanup after a (currently hard-coded) number of 256 executed promises.
A smaller number still showed contention in the SendQueueBenchmark.queue
benchmark.
* the order was also wrong in the AbstractPersistentActorWithTimers
* mima complains about this change for AbstractPersistentActor and
AbstractPersistentActorWithAtLeastOnceDelivery, but I think it is ok
* Fix double push message in sub source
* Add name of pushed port in failure message
* Update GraphStageLogicSpec.scala
* Change substreamEmit to SubstreamEmit