Re: [HACKERS] [streaming replication] 9.1.3 streaming replication bug ? - Mailing list pgsql-general

From Michael Nolan
Subject Re: [HACKERS] [streaming replication] 9.1.3 streaming replication bug ?
Date
Msg-id CAOzAquK6eE8y9KJv=TsxiwWbGbx4-jSQHe3waDgqfr-WidksNQ@mail.gmail.com
Whole thread Raw
In response to Re: [streaming replication] 9.1.3 streaming replication bug ?  (Fujii Masao <masao.fujii@gmail.com>)
List pgsql-general
On 4/11/12, Fujii Masao <masao.fujii@gmail.com> wrote:
> On Wed, Apr 11, 2012 at 3:31 PM, 乔志强 <qiaozhiqiang@leadcoretech.com> wrote:
>> So in sync streaming replication, if master delete WAL before sent to the
>> only standby, all transaction will fail forever,
>> "the master tries to avoid a PANIC error rather than termination of
>> replication." but in sync replication, termination of replication is THE
>> bigger PANIC error.
>
> I see your point. When there are backends waiting for replication, the WAL
> files
> which the standby might not have received yet must not be removed. If they
> are
> removed, replication keeps failing forever because required WAL files don't
> exist in the master, and then waiting backends will never be released unless
> replication mode is changed to async. This should be avoided.
>
> To fix this issue, we should prevent the master from deleting the WAL files
> including the minimum waiting LSN or bigger ones. I'll think more and
> implement
> the patch.

With asynchonous replication, does the master even know if a slave
fails because of a WAL problem?  And does/should it care?

Isn't there a separate issue with synchronous replication?  If it
fails, what's the appropriate action to take on the master?  PANICing
it seems to be a bad idea, but having transactions never complete
because they never hear back from the synchronous slave (for whatever
reason) seems bad too.
--
Mike Nolan

pgsql-general by date:

Previous
From: Sergey Konoplev
Date:
Subject: Re: Multiple Slave Failover with PITR
Next
From: Ken Brush
Date:
Subject: Re: Multiple Slave Failover with PITR