Re: Synchronization levels in SR - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Synchronization levels in SR
Date
Msg-id 10419.1283872642@sss.pgh.pa.us
Whole thread Raw
In response to Re: Synchronization levels in SR  (Markus Wanner <markus@bluegap.ch>)
Responses Re: Synchronization levels in SR
Re: Synchronization levels in SR
Re: Synchronization levels in SR
List pgsql-hackers
Markus Wanner <markus@bluegap.ch> writes:
> On 09/07/2010 04:15 PM, Robert Haas wrote:
>> In theory, that's true, but if we do that, then there's an even bigger
>> problem: the slave might have replayed WAL ahead of the master
>> location; therefore the slave is now corrupt and a new base backup
>> must be taken.

> The slave isn't corrupt. It would suffice to "late abort" committed 
> transactions the master doesn't know about.

Oh yes it is.  If the slave replays WAL that didn't happen on the
master, it might for instance have heap tuples in TID slots that are
empty on the master, or index pages laid out differently from the
master.  Trying to apply additional WAL from the master will fail badly.

We can *not* allow the slave to replay WAL ahead of what is known
committed to disk on the master.  The only way to make that safe
is the compare-notes-and-ship-WAL-back approach that Robert mentioned.

If you feel that decoupling WAL application is absolutely essential
to have a credible feature, then you'd better bite the bullet and
start working on the ship-WAL-back code.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: git: uh-oh
Next
From: Alvaro Herrera
Date:
Subject: Re: can we publish a aset interface?