AntidoteDB / antidote

A planet scale, highly available, transactional database built on CRDT technology
https://www.antidotedb.eu
Apache License 2.0
834 stars 89 forks source link

pn-counters are susceptible to partitioning #493

Open nurturenature opened 2 years ago

nurturenature commented 2 years ago

Running Jepsen tests on a pn-counter with partitioning has a high failure rate.

Please see previous issue for configuration and the environment to reproduce. Then:

lein run test --test-count 20 --workload pn-counter --rate 100 --topology dcs --nemesis partition

Most tests consistently fail most of the time:

Here's a plot of node read value differences from the complete total order counter, most tests are similar, showing 2 nodes ending up in a consistent state with 3 nodes diverging (swing, from p's to n's, counter):

offsets-parition

And a counter where 4 nodes converge to an invalid value:

offsets-partition-2

The nature and comprehensiveness in the respose to partitioning seemed to merit its own issue. Also to raise the status of the current zero mq being used.

Please suggest if it would be helpful to make any changes to the tests or environment.