3 ms·
The original post is a bit stale/out of date. https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf https://www.usenix.org/system/files
by jasonwatkinspdx 9y ago
The original post is a bit stale/out of date.
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-pillai.pdf https://www.usenix.org/system/files/conference/osdi14/osdi14... has a detailed analysis of potential consistency / recovery issues of various data stores, including SQLite.
SQLite in WAL mode is about as trustworthy as it gets.
- jeffreyrogers 9y agoWAL mode also relies on fsync to persist data to disk, so it has the same failure mode if fsync is not working as advertised. I briefly looked at the link you posted and it appears they also do fault injection/simulation rather than directly unplugging power or crashing the OS, so their tests won't catch disk controller problems.
- infogulch 9y agoTesting OS/controller/hardware failure will quickly devolve into extremely specific configuration issues and even fully verifying one particular configuration may be meaningless for the next configuration. Fault injection is probably as close as you can get to reliably exercising any fault tolerance properties while still being generic enough to apply to more than 1 real system in the wild.
- jasonwatkinspdx 9y agoWell, if you read the original SQL post you'd see they do make very conservative assumptions, including that fsync may lie on some systems. Alice is considerably more sophisticated than yanking a power cord and hoping it catches bad behavior.