
CharybdeFS: a new fault-injecting filesystem for software testing - conductor
http://www.scylladb.com/2016/02/16/fault-injection-filesystem-software-testing/
======
btrask
This appears similar to the "virtual filesystem" SQLite uses for testing[1],
except of course this one is open source and easily reusable, since it exposes
a regular filesystem interface via FUSE. This is fantastic news for every
database (or, ahem, application that saves files), and a very good sign for
ScyllaDB, since they are literally breaking new ground in reliability testing.
You can bet this will turn up problems in at least a few other databases.

FWIW, I asked for something like this a while back on HN.[2] Maybe someone saw
it :) Thanks!

[1] [https://www.sqlite.org/testing.html](https://www.sqlite.org/testing.html)

[2]
[https://news.ycombinator.com/item?id=9729225](https://news.ycombinator.com/item?id=9729225)

------
creshal
So Gluster, just better documented? /s

~~~
thekozmo
CharybdeFS isn't a fully functional FS (unlike Gluster). It's whole purpose in
life is to inject faults and delays in order to make sure the app on top
doesn't crash

~~~
Etzos
I think you may have missed that the parent post was sarcastic in nature. I'm
fairly certain everyone here knows just from the title alone that CharybdeFS
is made to insert faults. And I would assume most would know that Gluster is a
fully functional filesystem. Sometimes it's just too hard to resist making a
joke about the reliability of Gluster.

~~~
creshal
> Sometimes it's just too hard to resist making a joke about the reliability
> of Gluster.

I'm glad it's not just me. I've been eyeing it for years before finally
deploying it in production, and so far it's been a frustratingly wild ride.

------
nickpsecurity
This is really neat. Glad it was built. Im a big fan of using realistic
mockups for analysis and fault detections. Especially needed for filesystems,
networking stacks, distributed system assumptions, bitflips, and unauthorized
code execution.

