* deprecates awaitTermination, shutdown and isTerminated
* introduces a terminate-method that returns a Future[Unit]
* introduces a whenTerminated-method that returns a Future[Unit]
* simplifies the implementation by removing blocking constructs
* adds tests for terminate() and whenTerminated
Added spec test to cover fix for bug 15671
Replaced deprecated NamedProcessor with NamedPersistentActor. Cleaned up unused message handling. Typos and misspellings.
- Move all entry related logic out of the ShardRegion and into a
new dedicated child `Shard` actor.
- Shard actor persists entry started and passivated messages.
- Non passivated entries get restarted on termination.
- Shard Coordinator restarts shards on other regions upon region failure or handoff
- Ensures shard rebalance restarts shards.
- Shard buffers messages after an EntryStarted is received until state persisted
- Shard buffers messages (still) after a Passivate is received until state persisted
- Shard will retry persisting state until success
- Shard will restart entries automatically (after a backoff) if not passivated and remembering entries
- Added Entry path change to the migration docs
* scala-library.jar had changed name to scala-library-2.10.4.jar
* use wildcard to avoid same problem when scala-library version is changed
* the wilcard will only include jar files in the lib directory, and not the
lib/akka directory, see 'Understanding class path wildcards'
http://docs.oracle.com/javase/6/docs/technotes/tools/windows/classpath.html
(cherry picked from commit 996de05b44531bda517ef8ee274a34ad76e9716f)
AtLeastOnceDelivery can delivery out-of-order, and that's OK.
Although, in the case of message replay followed by taking user land
commands which may trigger `deliver` calls, it is nicer to at least once
try to send the replayed but not confirmed deliveries *first*, before
sending the completely new deliveries.
This change acomplishes this by triggering redelivery explicitly when
recovery has finished, and setting the timestamps on these messages a
bit in the past, so they hit their redelivery deadline right away during
this recovery induced redelivery.
Resolves#15590
* The filter is used by the LoggingAdapter before publishing
to the event bus
* Slf4jLoggingFilter uses backend log level configuration
(e.g. logback.xml)
isEmpty() need not rely on peek(which is intended for consumer use) and instead compare head to tail.
count() should stop counting at max int to avoid wrap.