4 ms·
Sad to not see Jepsen tests ran on this at least by the developers when releasing a new clustering piece. The folks working on cockroachdb recently did this[1]
by SEJeff 10y ago
Sad to not see Jepsen tests ran on this at least by the developers when releasing a new clustering piece.
The folks working on cockroachdb recently did this[1] and it was a good read.
[1] https://www.cockroachlabs.com/blog/diy-jepsen-testing-cockroachdb/ https://www.cockroachlabs.com/blog/diy-jepsen-testing-cockro...
- cbHXBY1D 10y agoCloudant did it for their clustering implementation of CouchDB. See here: https://cloudant.com/blog/run-dmc-explains-network-partitions/ https://cloudant.com/blog/run-dmc-explains-network-partition...
- robinson_k 10y agoCouchDB 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).
- janl 10y agoWe’d definitely love a Jepsen write up, preferably by @aphyr himself. We just need to find out how to get that going :)
- SEJeff 10y agoHere 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: http://jepsen.io/analyses.html http://jepsen.io/analyses.html