Home / Companies / ScyllaDB / Blog / Post Details
Content Deep Dive

Project Gemini: An Open Source Automated Random Testing Suite for ScyllaDB and Cassandra Clusters

Blog post from ScyllaDB

Post Details
Company
Date Published
Author
Henrik Johansson, Pekka Enberg
Word Count
2,201
Language
English
Hacker News Points
-
Summary

Project Gemini is an open-source automated random testing suite designed for ScyllaDB and Cassandra clusters, aimed at ensuring data integrity and reliability in distributed databases. Developed by ScyllaDB engineers, Gemini applies random CQL operations to both a system under test and a reference test oracle to verify that both systems are in the same state, highlighting discrepancies as potential bugs. This tool is particularly useful for quality assurance teams testing CQL-compliant databases, as it aids in detecting hard-to-trigger bugs that can lead to data corruption or loss. By employing automatic random testing, Gemini effectively discovers edge cases, such as reactor stalls and out-of-memory errors, which are not typically covered by other test suites. The tool is implemented in Go, utilizing the gocql driver for CQL clusters, and provides flexibility in data generation and validation processes to simulate various operational scenarios within databases. The project is available on GitHub, offering resources for quick setup and further exploration of Gemini's architecture.