2 ms·
This is awesome! I've been waiting for Aphyr to publish his analysis of RethinkDB as this is a project I carried out in a recent distributed systems class that
by krat0sprakhar 11y ago
This is awesome! I've been waiting for Aphyr to publish his analysis of RethinkDB as this is a project I carried out in a recent distributed systems class that I took. Although our analysis[0] is not as comprehensive (or correct?) as Aphyr's we still managed to learn quite a lot.
If you are looking at using Jepsen to do your own analysis, I have a few takeaways that might be worth sharing -
- Have a passable knowledge of Clojure
- Get a beefy workstation. We used a 160 gig EC2 instance[1] and still couldn't get Knossos (the linearizability checker) to complete for longer runs.
- Use the Docker-in-Docker setup[2] to minimize the frustration
- Pick an existing system closest to the system you want to analyze and see Aphyr's version of the tests for guidance and overall flow. The code is well commented and you should be able to follow through.
All in all, our major takeaway was that Jepsen is a wonderful (albeit complex) piece of software that takes time to get up and running. Once you are past that though, it stands as a very complete testing tool in itself.
Sincere thanks to Aphyr for open-sourcing it and helping us with our project!
[0] - https://github.com/prakhar1989/ADS https://github.com/prakhar1989/ADS
[1] - https://twitter.com/prakharsriv9/status/675049396636110848 https://twitter.com/prakharsriv9/status/675049396636110848
[2] - https://hub.docker.com/r/tjake/jepsen/ https://hub.docker.com/r/tjake/jepsen/