Otherwise, with 2.12,
ByteString().toString == "ByteString.ByteString1C()"
which would expose implementation details in the string representation.
This can lead to failing tests due to test expecting a particular string
representation of a ByteString which might be bad practice, yes, but is also
convenient.
The change is due to a fix in Scala for SI-9019 for which the string representation
of TraversableLike was changed which ByteString inherits.
See https://github.com/scala/scala/pull/5258/files
* Add comprehensive tests
* Add documentation
* Damn comma after rebase
* Add documentation for foldAsync and scanAsync
* Rename aggreator and aggreating to current
* Remove out availability check
* Revert removing out and some refactors
* Formatting documentation
* Use after instead of Promise in test
* Use package reference to after and some refactoring
This is the first step towards a completely new and optimized actor
implementation for Akka Typed. The full previously existing test suite
passes for both implementations. The following is an incomplete list of
things that remain to be done:
* document the semantic differences between untyped and typed, in
particular around actor restarts and the delivery ordering guarantees
for Terminated messages (also document the difference between
ActorSystemImpl and ActorSystemAdapter)
* implement EventStream and logging—this currently just delegates to an
extra untyped ActorSystem (of course To Be Fixed)
* implement dispatcher selection
* implement and test queue size limitation
* implement optimized message queue instead of CLQ (for zero-allocation
messaging)
* clean up test log output (something does not work with TestEventListener
and EventFilter for ActorSystemImpl tests)
* document the capabilities (or more appropriately: the limitations) of
interoperability between ActorSystemImpl and ActorSystemAdapter
* fix ActorPath UID generation (i.e. make sure that everything gets a
meaningful value instead of zero)
* re-evaluate throughput/rescheduling logic in ActorCell
Oh, and by the way: as per PerformanceSpec (doing simple ping-pong) the
new implementation is ca. 30% faster than the adapter over akka-actor
:-)
This is useful in at least two scenarios:
- Unit testing actors that communicate to their parent directly
- Testing re-creating (typically persistent) actors with the same name
* track nodes by UniqueAddress in Cluster Singleton, #20942
* reply with HandOverDone from new incarnation, #20942
* confirm as terminated immediately when new incarnation joins, #20942 instead of waiting for failure detector to mark it as unreachable this will speed-up removal when restarting cluster node with same hostname:port
* ignore PubSub Status message from unknown node, #20846
Reproducer:
1. old cluster of node1, node2 and node3
2. shutdown node3 and start it again with same host:port, let it
join itself and not the old cluster
3. node1 and node2 will continue to gossip to the node3 address and
Status message is accepted and replied to (Delta is ignored from
unknown node)
Solution:
* ignore status message from unknown node
* also added a reply flag in the Status message to break the
back-and-forth replies in case the deltas are not accepted,
this is not needed for fixing this bug, but it adds an extra
level of safety
* 20456: add hot connection pool via the minConnections setting
* added the akka.http.host-connection-pool.min-connections setting to reference.conf
* modified config implementation s o it's being read, with 0 as default
* based on the setting two types of pools will be created - hot and cold
* hot ones will start ASAP and not close when the number of active connections fall to 0
* PR remarks: english, remove getIntOpt ...
Moving logic into PoolConductor WIP
* WIP: moving minConnections logic into PoolConductor, needs more precise tests
* added testing via expectNextN in ConnectionPoolSpec.scala; fixed the bug with skipping the actor state in PoolSlot
* fix comments from PR: make sure PoolConductor produces only SwitchSlotCommand
* fix typo: slotSettings -> slots
* Fix style after code review
- inline short snippets
- shorter Mima
- better naming
- make SlotCommands final