Finding the cracks
One photo is a snapshot. A lifetime of photos is an exhibition.
Maybe the same is true of breaking databases? One broken database is a bug. A hundred broken databases…
Kyle Kingsbury, the author of Jepsen, has broken so many databases, he’s turned it into an art form.
Databases, especially distributed databases, are complex beasts, with a near infinite number of moving parts (we say this so much, maybe it should be a drinking game). But in a way they’re also very simple ones – you write data to the db, you read data from it.
Kyle’s talk at BugBash embraces this duality. He argues for simple tests – checks for repeatable reads, data races, and data integrity violations – but Jepsen, which checks all these invariants in a generalized way, is incredibly complex.
Or maybe Kyle really does have a mysterious concurrency bug creation field.