ScyllaDB testing part 2: Extending Jepsen for testing ScyllaDB
Blog post from ScyllaDB
Testing distributed systems like ScyllaDB is a complex task that is being tackled using Jepsen, a tool developed by Kyle Kingsbury for testing such systems. Jepsen is adaptable for testing a variety of distributed databases, including Apache Cassandra, and has been enhanced to test ScyllaDB by incorporating features like faketime, which allows processes in different containers to operate with different time settings. The ScyllaDB team has also introduced a "sidekick" process to simulate higher loads, using cassandra-stress during tests to challenge the system and identify bugs, of which 11 have been filed so far. Future developments include improving Jepsen checkers to verify the state of all nodes at the end of tests and expanding the test suite to cover more complex scenarios, such as schema changes concurrent with network disruptions. The goal is to use Jepsen's flexible framework to rigorously test ScyllaDB under a variety of extreme conditions, thereby enhancing its reliability and performance.