4 ms·
"I assume you've followed Jespen?" Yes! You might also want to check out autonomous deterministic testing, which is like Jepsen, but where you can explore man
by _vvhw 5y ago
"I assume you've followed Jespen?"
Yes!
You might also want to check out autonomous deterministic testing, which is like Jepsen, but where you can explore many more state spaces by speeding up time, and where you can replay any distributed bugs instantly, just by replaying a seed.
This is a brilliant talk on these techniques:
FoundationDB — How I Learned to Stop Worrying and Trust the Database — https://www.youtube.com/watch?v=OJb8A6h9jQQ https://www.youtube.com/watch?v=OJb8A6h9jQQ
I also work on a distributed database called TigerBeetle [1] where we use these new techniques. You can run our simulation tests yourself even. It's as simple as cloning the repo and running "scripts/vopr.sh", and let me know if you want a tour!
These testing techniques work so well that we've been running a bug bounty challenge with awards up to $8192 for anyone who can find a way to break it or crash it. It comes with the simulation testing all included so it's pretty easy to get started. [2]
[1] https://github.com/coilhq/tigerbeetle https://github.com/coilhq/tigerbeetle
[2] https://github.com/coilhq/viewstamped-replication-made-famous https://github.com/coilhq/viewstamped-replication-made-famou...