tarantool / jepsen.tarantool

Jepsen tests for Tarantool
https://www.tarantool.io/en/
Other
7 stars 0 forks source link

Implement filesystem fault-injections #75

Open ligurio opened 4 years ago

ligurio commented 4 years ago

It would be nice to implement fault-injections applicable to operations with filesystem. They can be implemented using PetardFS or CharybdeFS. Both are FUSE filesystems with management layer to control injections (in PetardFS it is an XML config file and in CharybdeFS it is Thrift interface).

Possible errors:

See also:

Jepsen framework is lack of filesystem's nemeses support (see https://news.ycombinator.com/item?id=20166483):

Hi there! There's work to do on both, and I encourage you to contribute to core if you like! We could really use performance improvements on the checkers--Knossos and set-full are great, but much more expensive than they need to be. It'd be nice to have a robust mechanism for adjusting CLOCK_MONOTONIC & friends. I don't have a good way to inject filesystem level faults, like simulated node crashes where non-fsynced data is lost. jepsen.control is plagued by what I think are race conditions in Jsch, which I've never had the chance to dig in and fix.

image