TY - JOUR
T1 - Can Applications Recover from fsync Failures?
AU - Rebello, Anthony
AU - Patel, Yuvraj
AU - Alagappan, Ramnatthan
AU - Arpaci-Dusseau, Andrea C.
AU - Arpaci-Dusseau, Remzi H.
N1 - Funding Information:
We thank our sponsors: VMware, Intel, Seagate, and Samsung, for their generous support. This material was also supported by funding from NSF under award numbers CNS-1421033, CNS-1763810, and CNS-1838733, and DOE DE-SC0014935.
Funding Information:
Ramnatthan Alagappan work done while at University of Wisconsin-Madison. We thank our sponsors: VMware, Intel, Seagate, and Samsung, for their generous support. This material was also supported by funding from NSF under award numbers CNS-1421033, CNS-1763810, and CNS-1838733, and DOE DE-SC0014935. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of NSF, DOE, or any other institutions. Authors’ addresses: A. Rebello, Y. Patel, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, University of Wisconsin– Madison, Department of Computer Sciences, Madison, WI, 53706; emails: [email protected], {yuvraj, dusseau, remzi}@cs.wisc.edu; R. Alagappan, VMware Research Group, Madison, WI, 53706; email: [email protected]. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. © 2021 Copyright held by the owner/author(s). Publication rights licensed to ACM. 1553-3077/2021/06-ART12 $15.00 https://doi.org/10.1145/3450338
Publisher Copyright:
© 2021 held by the owner/author(s). Publication rights licensed to ACM.
PY - 2021/6
Y1 - 2021/6
N2 - We analyze how file systems and modern data-intensive applications react to fsync failures. First, we characterize how three Linux file systems (ext4, XFS, Btrfs) behave in the presence of failures. We find commonalities across file systems (pages are always marked clean, certain block writes always lead to unavailability) as well as differences (page content and failure reporting is varied). Next, we study how five widely used applications (PostgreSQL, LMDB, LevelDB, SQLite, Redis) handle fsync failures. Our findings show that although applications use many failure-handling strategies, none are sufficient: fsync failures can cause catastrophic outcomes such as data loss and corruption. Our findings have strong implications for the design of file systems and applications that intend to provide strong durability guarantees.
AB - We analyze how file systems and modern data-intensive applications react to fsync failures. First, we characterize how three Linux file systems (ext4, XFS, Btrfs) behave in the presence of failures. We find commonalities across file systems (pages are always marked clean, certain block writes always lead to unavailability) as well as differences (page content and failure reporting is varied). Next, we study how five widely used applications (PostgreSQL, LMDB, LevelDB, SQLite, Redis) handle fsync failures. Our findings show that although applications use many failure-handling strategies, none are sufficient: fsync failures can cause catastrophic outcomes such as data loss and corruption. Our findings have strong implications for the design of file systems and applications that intend to provide strong durability guarantees.
KW - Durability
KW - file system
KW - fsync
KW - fsync failures
KW - persistence
UR - http://www.scopus.com/inward/record.url?scp=85108073396&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85108073396&partnerID=8YFLogxK
U2 - 10.1145/3450338
DO - 10.1145/3450338
M3 - Article
AN - SCOPUS:85108073396
SN - 1553-3077
VL - 17
JO - ACM Transactions on Storage
JF - ACM Transactions on Storage
IS - 2
M1 - 3450338
ER -