Cloudant did it for their clustering implementation of CouchDB. See here: https://cloudant.com/blog/run-dmc-explains-network-partition...
Re:CouchDB 2.0
by robinson_k on Tuesday September 20, 2016 @07:19PM
(#12544187)
CouchDB is eventually consistent and does not guarantee consistency. Would a Jepsen test make sense?
Yes. 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.
And by Risk I meant Riak but didn't notice it in time to edit the comment (sorry).
On 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.
As 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.
We’d definitely love a Jepsen write up, preferably by @aphyr himself. We just need to find out how to get that going :)
Here you go! Kyle is available to hire to do Jepsen testing if you're serious about it. Here is the page on how to go about it:
Oh, well aware of this. It’s just that we’d have to secure the funding, unless you wanna sponsor :)
Ha, sadly no. I'm just a fan of your software!
The folks working on cockroachdb recently did this[1] and it was a good read.
[1] https://www.cockroachlabs.com/blog/diy-jepsen-testing-cockro...