!per #3729 Journaling protocol optimization

- internal batching of individually received Persistent messages
- testing fault tolerance of Processor in presence of random
  * journaling failures
  * processing failures
This commit is contained in:
Martin Krasser 2013-11-20 13:47:42 +01:00
parent 5af6d0711a
commit 6e2f80bab0
39 changed files with 563 additions and 364 deletions

View file

@ -29,12 +29,18 @@ private[persistence] object JournalProtocol {
case class WriteBatch(persistentBatch: immutable.Seq[PersistentRepr], processor: ActorRef)
/**
* Instructs a journal to persist a message.
*
* @param persistent message to be persisted.
* @param processor requesting processor.
* Reply message to a processor if a batch write succeeded. This message is received before
* all subsequent [[WriteSuccess]] messages.
*/
case class Write(persistent: PersistentRepr, processor: ActorRef)
case object WriteBatchSuccess
/**
* Reply message to a processor if a batch write failed. This message is received before
* all subsequent [[WriteFailure]] messages.
*
* @param cause failure cause.
*/
case class WriteBatchFailure(cause: Throwable)
/**
* Reply message to a processor that `persistent` message has been successfully journaled.