* Adding example for collection operator
* Modifying example
* Add parenthesises to side effect only method
Co-authored-by: Johan Andrén <johan@markatta.com>
* The rebalance in the LeastShardAllocationStrategy is only comparing the region
with most shards with the one with least shards. Makes the rebalance rather
slow. By default it's only rebalancing 1 shard at a time.
* This new strategy looks at all current allocations to find the optimal
number of shards per region and tries to adjust towards that value.
Picking from all regions with more shards than the optimal.
* Absolute and relative limit on how many shards that can be rebalanced
in one round.
* It's also not starting a new rebalance round until the previous has
completed.
* unit tests
* second phase for fine grained rebalance, due to rounding it will not be perfect in the first phase
* randomized unit test
* configuration settings
* docs
* To avoid head of line blocking from serialization and transfer of large messages
this can be enabled.
* ProducerController setting to chunk messages
* split up large messages in chunks in ProducerController
and assemble again in ConsumerController
* serialization moved to these actors instead of in the Artery stream
* other messages (for other actors) can interleave with the chunks
* serializer for ChunkedMessage in SequencedMessage and MessageSent
* cleanup partially stored chunked messages
* reference docs
* mima filters
* additional test for sending the Request after half window size
* enforce that chunk-large-messages=off for sharding and work-pulling
The current code sample for trying out the TCK misses the "akka" prefix
which means that the TCK test will fail with an error regarding not
specifying a journal plugin (because the journal plugin property is
wrong in the sample)
Fixes#29528
* Make ShardingDirectReplication private
And provider user API to provide ReplicaId so that local messages don't
need to be forwarded to sharding to just be dropped
* Update docs to say direct replication is on my default
* Doh