=per #15942 Support resume after recovery failure
* 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
This commit is contained in:
parent
72d54626f3
commit
9b5a446a4a
8 changed files with 239 additions and 95 deletions
|
|
@ -120,6 +120,10 @@ When persisting events with ``persist`` it is guaranteed that the persistent act
|
|||
the ``persist`` call and the execution(s) of the associated event handler. This also holds for multiple ``persist``
|
||||
calls in context of a single command.
|
||||
|
||||
If persistence of an event fails, the persistent actor will be stopped by throwing :class:`ActorKilledException`.
|
||||
This can be customized by handling ``PersistenceFailure`` message in ``receiveCommand`` and/or defining
|
||||
``supervisorStrategy`` in parent actor.
|
||||
|
||||
The easiest way to run this example yourself is to download `Typesafe Activator <http://www.typesafe.com/platform/getstarted>`_
|
||||
and open the tutorial named `Akka Persistence Samples in Java with Lambdas <http://www.typesafe.com/activator/template/akka-sample-persistence-java-lambda>`_.
|
||||
It contains instructions on how to run the ``PersistentActorExample``.
|
||||
|
|
@ -192,11 +196,12 @@ recovery has completed, before processing any other message sent to the persiste
|
|||
The persistent actor will receive a special :class:`RecoveryCompleted` message right after recovery
|
||||
and before any other received messages.
|
||||
|
||||
.. includecode:: ../../../akka-samples/akka-sample-persistence-java-lambda/src/main/java/doc/LambdaPersistenceDocTest.java#recovery-completed
|
||||
|
||||
If there is a problem with recovering the state of the actor from the journal, the actor will be
|
||||
sent a :class:`RecoveryFailure` message that it can choose to handle in ``receiveRecover``. If the
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped.
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped by throwing :class:`ActorKilledException`.
|
||||
|
||||
.. includecode:: ../../../akka-samples/akka-sample-persistence-java-lambda/src/main/java/doc/LambdaPersistenceDocTest.java#recovery-completed
|
||||
|
||||
Relaxed local consistency requirements and high throughput use-cases
|
||||
--------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -122,6 +122,10 @@ When persisting events with ``persist`` it is guaranteed that the persistent act
|
|||
the ``persist`` call and the execution(s) of the associated event handler. This also holds for multiple ``persist``
|
||||
calls in context of a single command.
|
||||
|
||||
If persistence of an event fails, the persistent actor will be stopped by throwing :class:`ActorKilledException`.
|
||||
This can be customized by handling ``PersistenceFailure`` message in ``onReceiveCommand`` and/or defining
|
||||
``supervisorStrategy`` in parent actor.
|
||||
|
||||
The easiest way to run this example yourself is to download `Typesafe Activator <http://www.typesafe.com/platform/getstarted>`_
|
||||
and open the tutorial named `Akka Persistence Samples with Java <http://www.typesafe.com/activator/template/akka-sample-persistence-java>`_.
|
||||
It contains instructions on how to run the ``PersistentActorExample``.
|
||||
|
|
@ -195,11 +199,11 @@ recovery has completed, before processing any other message sent to the persiste
|
|||
The persistent actor will receive a special :class:`RecoveryCompleted` message right after recovery
|
||||
and before any other received messages.
|
||||
|
||||
.. includecode:: code/docs/persistence/PersistenceDocTest.java#recovery-completed
|
||||
|
||||
If there is a problem with recovering the state of the actor from the journal, the actor will be
|
||||
sent a :class:`RecoveryFailure` message that it can choose to handle in ``receiveRecover``. If the
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped.
|
||||
|
||||
.. includecode:: code/docs/persistence/PersistenceDocTest.java#recovery-completed
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped by throwing :class:`ActorKilledException`.
|
||||
|
||||
.. _persist-async-java:
|
||||
|
||||
|
|
|
|||
|
|
@ -114,6 +114,10 @@ When persisting events with ``persist`` it is guaranteed that the persistent act
|
|||
the ``persist`` call and the execution(s) of the associated event handler. This also holds for multiple ``persist``
|
||||
calls in context of a single command.
|
||||
|
||||
If persistence of an event fails, the persistent actor will be stopped by throwing :class:`ActorKilledException`.
|
||||
This can be customized by handling ``PersistenceFailure`` message in ``receiveCommand`` and/or defining
|
||||
``supervisorStrategy`` in parent actor.
|
||||
|
||||
The easiest way to run this example yourself is to download `Typesafe Activator <http://www.typesafe.com/platform/getstarted>`_
|
||||
and open the tutorial named `Akka Persistence Samples with Scala <http://www.typesafe.com/activator/template/akka-sample-persistence-scala>`_.
|
||||
It contains instructions on how to run the ``PersistentActorExample``.
|
||||
|
|
@ -186,11 +190,11 @@ recovery has completed, before processing any other message sent to the persiste
|
|||
The persistent actor will receive a special :class:`RecoveryCompleted` message right after recovery
|
||||
and before any other received messages.
|
||||
|
||||
.. includecode:: code/docs/persistence/PersistenceDocSpec.scala#recovery-completed
|
||||
|
||||
If there is a problem with recovering the state of the actor from the journal, the actor will be
|
||||
sent a :class:`RecoveryFailure` message that it can choose to handle in ``receiveRecover``. If the
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped.
|
||||
|
||||
.. includecode:: code/docs/persistence/PersistenceDocSpec.scala#recovery-completed
|
||||
actor doesn't handle the :class:`RecoveryFailure` message it will be stopped by throwing :class:`ActorKilledException`.
|
||||
|
||||
.. _persist-async-scala:
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue