Date: 2020-01-20
Categories: filesystems; research
SQLite assumptions, or how to corrupt an SQLite database
An interesting post on Hacker News reminded me of this very informative page about how SQLite can go wrong:
https://www.sqlite.org/howtocorrupt.html
My favourites:
- Continuing to use a file descriptor after it has been closed (the user process interferes with the database process by writing to an fd it had previously closed, which was then in use by the db)
- Filesystems with broken or missing lock implementations (unfortunately they are too coy about which filesystems these are... likely all of them)
- Failure to sync (including "Disk drives that do not honor sync requests"... "Unfortunately, most consumer-grade mass storage devices lie about syncing.")
- Non-powersafe flash memory controllers
- The whole "Bugs in SQLite" section
Related posts:
- 2020-05-01 John Whitington PhD viva
- 2020-02-05 On the need for PhD viva chairs
- 2020-01-20 SQLite assumptions, or how to corrupt an SQLite database
- 2019-12-18 VeTSS annual summary
- 2019-08-30 B-tree random write performance
- 2019-08-21 ML'19 Workshop at ICFP: A key-value store for OCaml
- 2018-07-02 Funded PhD places
- 2018-06-14 A typed DSL for parsing
- 2018-05-30 Potential improvements in filesystem performance
- 2018-05-22 First Python program: an Earley parser!
- 2018-02-01 New OCaml library: path resolution
- 2017-09-06 OCaml workshop talk: A B-tree library for OCaml
- 2017-09-06 ICFP most influential paper from 10 years ago
- 2017-05-30 OCaml workshop submission: A B-tree library for OCaml
- 2017-06-13 Interesting article on ext4 free space allocation
- 2017-03-16 tjr-btree: a CoW B-tree library in OCaml
- 2016-05-27 Visit to Cambridge, for REMS workshop
- 2016-01-27 Talk at York University
- 2015-10-05 SibylFS presentation at SOSP'15
- 2015-09-28 SibylFS SOSP poster
- 2015-09-21 SibylFS presentation to Industrial Advisory Board
- 2015-06-28 SOSP 2015 paper acceptance for SibylFS
- 2015-04-27 Why operational models?
- 2015-04-21 REMS Cambridge talk on SibylFS
- 2014-11-26 Isabelle on 64bit ubuntu with 32bit libraries
- 2013-11-13 Engineer position
- 2013-04-01 PhD position funded by Microsoft Research
- 2013-02-01 EPSRC grant funded