Re: Synchronization levels in SR

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Synchronization levels in SR
Дата
Msg-id 10419.1283872642@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Synchronization levels in SR  (Markus Wanner <markus@bluegap.ch>)
Ответы Re: Synchronization levels in SR  (Simon Riggs <simon@2ndQuadrant.com>)
Re: Synchronization levels in SR  (Markus Wanner <markus@bluegap.ch>)
Re: Synchronization levels in SR  (marcin mank <marcin.mank@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: git: uh-oh
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: can we publish a aset interface?