syuu1228 / charybdefs

ScyllaDB fault injection filesystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

License:Other


Languages

Language:C++ 43.5%Language:Python 30.7%Language:CMake 14.1%Language:C 9.0%Language:Thrift 2.4%Language:Shell 0.2%