Re: why do you apply undo before redo?

From: Dan <guntermannxxx_at_verizon.com>
Date: Tue, 20 Apr 2004 10:00:28 GMT
Message-ID: <0x6hc.24485$L31.20270_at_nwrddc01.gnilink.net>


"Wayne Warren" <wwarren_at_MANGLEbirdstep.com> wrote in message news:WWTgc.85993$vn.249185_at_sea-read.news.verio.net...
> I'm not sure that the book is correct. I wrote a transaction processing
> system (released on 1993 as Velocis Database Server, now called Birdstep
RDM
> Server) which performs redo operations just prior to undo operations. I
can
> assure you that in practice it works.
>
> If transactions have maintained proper Isolation (the "I" in ACID) from
one
> another, then the order of redo/undo should be irrelevant.

But we still have to worry about getting the database to a consistent state, regardless of active interleaving at time of failure. The use of caches means that some commited transactions might not have been written to disk, or in other cases, parts of uncompleted transactions did get written to disk and need to be undone. Though there might be interleaving across transactions at the time of failure, the DBMS doesn't need to consider some of these transactions if they were propery persisted. Thus some serializable schedule might no longer apply.

  • Dan

> specifics may dictate the order, but the transaction recovery concept does
> not.
>
> "Ryan" <rgaffuri_at_cox.net> wrote in message
> news:_Ulgc.4499$uF3.1441_at_lakeread04...
> > I'm reading a generic database textbook and it states that when
databases
> > are recovering undo is applied before redo. It doesn't say why. Does
> anyone
> > know?
> >
> >
>
>
Received on Tue Apr 20 2004 - 12:00:28 CEST

Original text of this message