The signature is

def asyncWriteMessages(messages: immutable.Seq[AtomicWrite]):
Future[immutable.Seq[Try[Unit]]]

If the future is completed with exception it is the failure case, otherwise
it’s possible to reject individual events as documented:

* The journal can also signal that it rejects individual messages
(`AtomicWrite`) by
* the returned `immutable.Seq[Try[Unit]]`. It is possible but not mandatory
to reduce
* number of allocations by returning `Future.successful(Nil)` for the happy
path,
* i.e. when no messages are rejected. Otherwise the returned `Seq` must
have as many elements
* as the input `messages` `Seq`. Each `Try` element signals if the
corresponding
* `AtomicWrite` is rejected or not, with an exception describing the
problem. Rejecting
* a message means it was not stored, i.e. it must not be included in a
later replay.
* Rejecting a message is typically done before attempting to store it, e.g.
because of
* serialization error.
*

https://doc.akka.io/docs/akka/current/persistence.html#storage-plugins

/Patrik
lör 27 jan. 2018 kl. 02:36 skrev Andrey Ilinykh <ailin...@gmail.com>:

> Thank you very much!
>
>
>
>> For rejected the PA continues. For failed it is stopped, possibly
>> followed by a restart/recovery that will read the event (or not) to get to
>> the right state.
>>
>> I don’t know if the Elasticsearch plugin implements it correctly.
>>
>>
>>> This part I don't understand. Any plugin should implement
>
> def asyncWriteMessages(messages: immutable.Seq[AtomicWrite]):
> Future[immutable.Seq[Try[Unit]]]
>
> how plugin can trigger reject or failure?  It just returns the result of
> operation, and the caller (akka persistence framework) decides what to do.
> I think the logic to trigger reject/failure is outside the plugin.
>
> Andrey
>
> --
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ:
> http://doc.akka.io/docs/akka/current/additional/faq.html
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> ---
> You received this message because you are subscribed to the Google Groups
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to akka-user+unsubscr...@googlegroups.com.
> To post to this group, send email to akka-user@googlegroups.com.
> Visit this group at https://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to