A fuse based fault injection filesystem with a Thrift RPC interface for instrumentation.
CentOS 7.4
sudo yum install gcc-c++ cmake fuse fuse-devel thrift python-thrift thrift-devel
thrift -r --gen cpp --gen py server.thriftz
cmake CMakeLists.txt
make
Ubuntu 16.04
sudo apt-get install g++ cmake fuse libfuse-dev libthrift-dev python-thrift
thrift -r --gen cpp --gen py server.thrift
cmake CMakeLists.txt
make
modprobe fuse
mkdir /root/scylla
sudo ./charybdefs /var/lib/scylla/ -omodules=subdir,subdir=/root/scylla
tests/scylla_test_all_calls.py
is an example test running against the
ScyllaDB database. It will insert data in the database, trigger some
errors for a while, clear it and let the database recover.
After this it will boot up scylla again and check that all commited
queries are safe on disk.