Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement filesystem fault-injections #75

Open
ligurio opened this issue Nov 6, 2020 · 0 comments
Open

Implement filesystem fault-injections #75

ligurio opened this issue Nov 6, 2020 · 0 comments

Comments

@ligurio
Copy link
Member

ligurio commented Nov 6, 2020

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:

  • Incomplete writes to disk
  • Corrupted writes to disk
  • Disk drive runs out of space
  • Delay on operations
  • Failed operations with random errno

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants