westerndigitalcorporation / zenfs

ZenFS is a storage backend for RocksDB that enables support for ZNS SSDs and SMR HDDs.
GNU General Public License v2.0
243 stars 88 forks source link

Add crash testing #62

Closed yhr closed 2 years ago

yhr commented 3 years ago

Add crash testing to zenfs, based on the rocksdb internal testing.

We can probably adapt/reuse what is available here:

MaisenbacherD commented 3 years ago

Crashtesting from the original db_crashtest.py was adapted for this proposal:

https://github.com/westerndigitalcorporation/zenfs/pull/69

It kills the DB at a random point in time (blackbox) or at predefined places in the RocksDB code (whitebox) and checks for recovery. For further reading visit the RocksDB wiki. However the goal for ZenFS crashtesting is to cover a specified set of parameters rather than randomised continuous testing. Therefore db_crashtest.py was copied and modified to use the parameters of interest. Additionally convenience and integration scripts for the existing ZenFS test suite were added.

yhr commented 2 years ago

A fix has been fixed in #69