Skip to content

ScyllaDB fault injection filesystem (+java client)

License

Notifications You must be signed in to change notification settings

cheremin/charybdefs

 
 

Repository files navigation

CharybdeFS

A fuse based fault injection filesystem with a Thrift RPC interface for instrumentation.

Building

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

Using

modprobe fuse
mkdir /root/scylla
sudo ./charybdefs /var/lib/scylla/ -omodules=subdir,subdir=/root/scylla

Example tests

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.

About

ScyllaDB fault injection filesystem (+java client)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 32.9%
  • Java 24.4%
  • Python 23.2%
  • CMake 10.7%
  • C 6.8%
  • Thrift 1.9%
  • Shell 0.1%