* I think it originated from channels, or some idea that
the sender should be revived (as good as possible) during replay,
but that is pretty useless
* It must still be in PersistentRepr for remote serialization
* I didn't want to change to the built in sender when looping to the
journal because keeping it together with the message makes it easier
to do batching (queueing)
* adjust tck
* addunidoc task via an AutoPlugin that depends on PrValidation and Unidoc autoplugins
* separate cli option logic to a case class
* remove autoplugin for root project
* UnconfirmedWarning message spilled over from previous test step,
using separate probes instead of testActor
* the resend interval was too short so that unexpected resend occured
as seen by the `failed: expected Action(4,a-4), found Action(3,a-3)`
+ enable parallel execution
+ exclude perf tests (TODO mark more as such)
+ uses sbt-dependency-graph plugin
+ implement dependency tracking for testing of only these
+ project which could have been affected by a given PR
* also improved fault handling in various places (bugs found)
* and manually triggered Update must be distinguished from scheduled
auto updates, otherwise manual Update will schedule extra auto updates
* remove channels
* remove View
* remove Processor
* collapse the complicated internal state management
that was spread out between Processor, Eventsourced and Recovery
* remove Recovery trait, this caused some duplication between Eventsourced
and PersistentView, but but the enhanced PersistentView will not be based
on recovery infrastructure, and therefore PersistentView code will be replaced anyway
* remove PersistentBatch
* remove LoopMessage
* remove deleteMessages of individual messages
* remove Persistent, PersistentRepr and PersistentImpl are kept
* remove processorId
* update doc sample code
* note in migration guide about persistenceId
* rename Resequencable to PersistentEnvelope
* it is backwards compatible, i.e. it can read old snapshots
(cherry picked from commit 690905eac9619da91d7b1fcbc633d1fa2e411ee7)
Conflicts:
akka-persistence/src/test/scala/akka/persistence/serialization/SerializerSpec.scala
* PersistentActor correctly calls `super.around*` and allows to be mixed into e.g. ActorSubscriber
* Tests have been added on PersistentActor and Processor to verify the stackable behavior of `around*` and `pre*` methods
* Delegation in Processor has been simplified
* 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.
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