On Thu, 2005-04-14 at 19:34, Dave Chinner wrote:
> On Thu, Apr 14, 2005 at 04:31:41PM -0400, Ian Westmacott wrote:
> > > If you can, try to come up with a step-by-step test case so that
> > > we can reproduce your situation locally - thats a huge help.
> > I'm working on simple reproduction steps (without luck so far).
> > Our procedure involves creating a database and rebooting while
> > it is under load. If I find something simple, I'll send it.
> Hmmm. Is the database using asynchronous buffered I/O? If it is,
> then what you are doing here is guaranteed to produce data
> corruption because you are rebooting before (all) the data has
> been flushed to disk.
> Can you confirm what type of I/O the database is actually doing?
Near as we can tell from source, it is either doing O_SYNC, fsync
or fdatasync, depending on configuration. In any case, we have
tried explicit syncs, 30 second waits, and dumping 1GB of junk
bits to the disk before shutdown -- none of which helps. (BTW,
by 'reboot' I do mean orderly shutdown and startup).