Should SQLite users be setting barrier=1?

Dan Kennedy
Tue, 13 Jul 2010 13:47:08 -0000

Hi,

Should sqlite users who are paranoid about losing data
when hard resets occur be setting the barrier=1 mount
option with ext3?

The situation is that we think SQLite has written data
to a series of 4K blocks in a file and then called
fsync() on the file descriptor. After this a hard reset
occurs. Upon recovery it seems like one of the 4K blocks
has been zeroed. The others are all fine.

Happens every now and again under stress testing.

System is using data=journaled, but not barrier=1.

Should users also be setting barrier=1 for extra robustness
in the face of hard resets?

Thanks,
Dan.