* remove inter-project dependencies between streamTestkit -> peristence -> remote
* make PartitionOutOfBoundsException extend IndexOutOfBoundsException
* some weird formatting
* remove -experimental from HTTP Testkit/Tests
* split out shared LevelDb journal tests into new subproject (not to be
published)
* Initialization is performed during Persistence initialization, so for this to work the persistence extension should be specified under akka.extensions
* JournalProxy works on the journal and snapshot store
message protocol level and is therefore much simpler
than the previous AsyncWriteProxy approach
* JournalProxy will work out of the box with any journal,
I have tried with Cassandra
* should in the end phase out AsyncWriteProxy and
SharedLeveldbJournal, we need deprecation phase
* rewrote the InmemJournal to remove the dependency to
AsyncWriteProxy, which I can't see why it is needed
for the InmemJournal
Unless the message is in akka.* or the configuration setting 'akka.actor.warn-about-java-serializer-usage'
is disabled a warning is logged for each class that the Java serializer is choosen for.
* added tests
* docs about highestSeqenceNr behaviour after message deletion
* clarification about highestSequenceNr in AsyncRecovery#asyncReadHighestSequenceNr and AsyncWriteJournal#asyncDeleteMessagesTo
* creating a large scala range is very inefficient and also impossible
above Int.MaxValue, which can happen if deleteMessages(Long.MaxValue)
is used
* solved by capping the upper seq nr by the highest know seq nr
* similar issue in inmem journal
* make the standard queries "single method interfaces" that may be implemented
by a query journal plugin
* remove hints (major problems with varargs anyway), the hints for standard
queries should be given in configuration instead, e.g. refresh-interval
Existing tests covering stashin in PersistentActor moved to separate
test class.
New async write journal for tests SteppingInmemJournal allows to
control the async journal operations tightly from a test. Each journal
operation requires a token which the test then can wait for consumption of.
* when WriteMessages is sent directly to the journal for testing
purposes we want to preserve the original manifest instead of
letting IdentityEventAdapter clearing it out
* 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
- created new subproject akka-protobuf (and added COPYING and LICENSE)
- renamed com.google.protobuf -> akka.protobuf everywhere
- also added such renaming step to the results of protoc compilation in
project/Protobuf.scala
- had to include transcriptions of Netty’s ProtobufEncoder/Decoder to
make multi-node-testkit compile again
For example, a new persistent actor (no snapshots, no events) should use
0L so that it makes sense that journal returns 0L and the first persisted
event gets 1L.