If I understand the problem correctly, the issue is that IDE drives
signal that data has been written to disk when they actually are holding
the data in the write cache. In the case of a power down (and I remember
someone showing some test results confirming this, check the list
archive) the data in the drive write cache is lost, resulting in
corrupted logs.
Anyone else have more details?
Jord Tanner
On Thu, 2003-12-04 at 09:57, Dror Matalon wrote:
> On Thu, Dec 04, 2003 at 11:59:32AM -0500, Jeff wrote:
> > On Thu, 04 Dec 2003 08:06:23 -0800
> > Jack Coates <jack@lyris.com> wrote:
> >
> > > testbed:
> > > dual P3 1.3 GHz box with 2GB RAM
> > > two IDE 120G drives on separate channels (DMA on), OS on one, DB on
> > > the other, some swap on each (totalling 2.8G).
> > > RH Linux 8.
> >
> > Side Note: be sure to turn off write caching on those disks or you may
> > have data corruption in the event of a failure
>
> I've seen this comment several times from different people.
> Would someone care to explain how you would get data corruption? I
> thought that the whole idea of the log is to provide a journal similar
> to what you get in a journaling file system.
>
> In other words, the db writes a series of transactions to the log and marks
> that "log entry" (don't know the right nomeclature) as valid. When the db
> crashes, it reads the log, and discards the last "log entry" if it wasn't
> marked as valid, and "replays" any transactions that haven't been
> commited ot the db. The end result being that you might loose your last
> transaction(s) if the db crashes, but nothing ever gets corrupted.
>
> So what am I missing in this picture?
>
> Regards,
>
> Dror
--
Jord Tanner <jord@indygecko.com>