These are chat archives for RBMHTechnology/eventuate

13th
Jan 2018
gabrielgiussi
@gabrielgiussi
Jan 13 2018 21:47

Thanks Martin. I've found the issue and why was related to the ops.precondition flag.
Previous to my refactor, the ORSet had the ops.precondition = true (because it had logic in the prepare method) and the CRDTChaosSpecLeveldb was configured with eventuate.log.write-batch-size = 3.

ops.precondition = true means stateSync = true and

If stateSync is true (default), new commands are stashed while persistence is in progress. Consequently, new commands see actor state that is in sync with the events in the event log. A consequence is limited write throughput, because Batching of write requests is not possible in this case.

So, the write-batch-size had no impact in the test, but when I've changed to ops.precondition = false the log began to write in batches, and the AddOp(stop-...) wasn't being written due to the IntegrationTestException being throw for random operations in the same batch.

I've changed the config for the test to eventuate.log.write-batch-size = 1.