3 ms·
CouchDB is eventually consistent and does not guarantee consistency. Would a Jepsen test make sense?
by robinson_k 10y ago
CouchDB is eventually consistent and does not guarantee consistency. Would a Jepsen test make sense?
- spotman 10y agoOn their site they do say however: "And we care a lot about your data. CouchDB has a fault-tolerant storage engine that puts the safety of your data first." So, yeah, I think even if eventually consistent, and not immediately consistent, they want you to feel they have taken care of your data when designing the thing, so seems prudent to do.
- haimez 10y agoAs a rule, yes. I'm not at all an expert on (or even all that familiar with) CouchDB, but if you make any guarantees at all about your distributed storage engine, then those guarantees are somehow testable.
- SEJeff 10y agoYes. Eventual consistent doesn't mean inconsistent, but eventually it will be. That means under a network partition (P of th CAP Theorem) things should converge after the network converges. This is precisely the type of semantic that Aphyr wrote Jepsen for. See his testing of Cassandra (eventually consistent) or the CockroachDB team (eventually consistent) or Risk (eventually consistent) running Jespsen to prove things work as expected.
- SEJeff 10y agoAnd by Risk I meant Riak but didn't notice it in time to edit the comment (sorry).