spacejam / sled

the champagne of beta embedded databases
Apache License 2.0
8.19k stars 384 forks source link

lineage-driven fault injection #1049

Open spacejam opened 4 years ago

spacejam commented 4 years ago

since all IO and cross-thread communication points are manually instrumented with failpoints and debug_delay, we can use these calls to record traces of IO and linearization points.

this greatly reduces the bug search space during fault injection testing to only injecting failures that may actually impact a particular workload

spacejam commented 4 years ago

this probably does not need to pull in a solver in the style of @palvaro's molly initially to get a large amount of the benefit, but rust has some solver libraries we may be able to rely on to start doing that sort of targeted fault tree exploration.