When starting many persistent actors at the same time the journal
its data store is protected from being overloaded by limiting number
of recoveries that can be in progress at the same time.
(cherry picked from commit afc9df17a7faf2a239598788ff48f3bf2cd7b605)
* treat snapshot load failure in same way as other recovery failures
* if load of snapshot fails the persistent actor will be stopped, since
we can't assume that a consistent state would be recovered just by
replaying all events, since events may have been deleted
* additional recovery docs
* improve log message
* Initialization is performed during Persistence initialization, so for this to work the persistence extension should be specified under akka.extensions
* The old implementation would cap the pool size (both corePoolSize
and maximumPoolSize) to max-pool-size, which is very confusing
becuase maximumPoolSize is only used when the task queue is bounded.
* That resulted in configuring core-pool-size-min and core-pool-size-max
was not enough, because it could be capped by the default max-pool-size.
* The new behavior is simply that maximumPoolSize is adjusted to not be
less than corePoolSize, but otherwise the config properties match the
underlying ThreadPoolExecutor implementation.
* Added a convenience fixed-pool-size property.
For all docs:
* remove consecutive duplicate words
* Improve use of commata
* Improve use of articles
* Improve consistent use of singular/plural
* Simplify run-on sentences
Review iterations:
* Integrate @rkuhn review points
- bring back the comma for the interjection
- ‘to not’ is not inverted if the infinitive form still follows
- Elegantly connect a run on sentence with a semicolon
- Correct semantic error
- Strictly monotonically preserve math expressions
- Use correct english futures
* Cross sync changes to files in scala, java & java-lambda documentation files using git diff -u | patch
* added tests
* docs about highestSeqenceNr behaviour after message deletion
* clarification about highestSequenceNr in AsyncRecovery#asyncReadHighestSequenceNr and AsyncWriteJournal#asyncDeleteMessagesTo
* clarify how to enable the plugin
* added empty class property in fallback config in reference
to have a proper place to document that and throw a more
specific exception if it is not defined
* also some formatting of reference.conf
* marked PersistentFSM as experimental
* also changed the order of some sections in migration guide
* link to 2.2->2.3 migration guide
* update experimental index page