Re: pg_rewind, a tool for resynchronizing an old master after failover

Поиск
Список
Период
Сортировка
От Fujii Masao
Тема Re: pg_rewind, a tool for resynchronizing an old master after failover
Дата
Msg-id CAHGQGwH5Mw0QiOhhmueF-hg-F24GBNF1wvWLrb_Witp=oTdGSA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pg_rewind, a tool for resynchronizing an old master after failover  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: pg_rewind, a tool for resynchronizing an old master after failover
Список pgsql-hackers
On Thu, May 23, 2013 at 8:55 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Thu, May 23, 2013 at 7:10 AM, Heikki Linnakangas
> <hlinnakangas@vmware.com> wrote:
>> 1. Scan the WAL log of the old cluster, starting from the point where
>> the new cluster's timeline history forked off from the old cluster. For each
>> WAL record, make a note of the data blocks that are touched. This yields a
>> list of all the data blocks that were changed in the old cluster, after the
>> new cluster forked off.
>
> Suppose that a transaction is open and has written tuples at the point
> where WAL forks.  After WAL forks, the transaction commits.  Then, it
> hints some of the tuples that it wrote.  There is no record in WAL
> that those blocks are changed, but failing to revert them leads to
> data corruption.

Yes in asynchronous replication case. But in synchronous replication case,
after WAL forks, hint bits would not be set if their corresponding commit record
is not replicated to the standby. The transaction commit keeps waiting
for the reply
from the standby before updating clog. So, this data corruption would not happen
in sync case.

Regards,

-- 
Fujii Masao



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Atri Sharma
Дата:
Сообщение: Re: Time limit for a process to hold Content lock in Buffer Cache
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Small typo in syncrep.h