Thread: pgsql: Install recycled WAL segments with current timeline ID during re

pgsql: Install recycled WAL segments with current timeline ID during re

From
Heikki Linnakangas
Date:
Install recycled WAL segments with current timeline ID during recovery.

This is a follow-up to the earlier fix, which changed the recycling logic
to recycle WAL segments under the current recovery target timeline. That
turns out to be a bad idea, because installing a recycled segment with
a TLI higher than what we're recovering at the moment means that the recovery
logic will find the recycled WAL segment and try to replay it. It will fail,
but but the mere presence of such a WAL segment will mask any other, real,
file with the same log/seg, but smaller TLI.

Per report from Mitsumasa Kondo. Apply to 9.1 and 9.2, like the previous
fix. Master was already doing this differently; this patch makes 9.1 and
9.2 to do the same thing as master.

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/4aed94f1660fb55bc825bf7f3135379dab28eb55

Modified Files
--------------
src/backend/access/transam/xlog.c |   14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)


Re: pgsql: Install recycled WAL segments with current timeline ID during re

From
KONDO Mitsumasa
Date:
Thanks for creating patch !!
I test this patch, it seems to fix this problem. I think recovery and WAL write
control are very difficult... So I make debug log which is more helpful for like
this trouble.

Though I think you have already known, this problem has occurred in also master
database in PITR.

Sorry for my reply is late. In japan, we are in long vacation called Golden Week.
We will test more for next release version after Golden Week.

Best regards,

(2013/04/30 23:50), Heikki Linnakangas wrote:
> Install recycled WAL segments with current timeline ID during recovery.
>
> This is a follow-up to the earlier fix, which changed the recycling logic
> to recycle WAL segments under the current recovery target timeline. That
> turns out to be a bad idea, because installing a recycled segment with
> a TLI higher than what we're recovering at the moment means that the recovery
> logic will find the recycled WAL segment and try to replay it. It will fail,
> but but the mere presence of such a WAL segment will mask any other, real,
> file with the same log/seg, but smaller TLI.
>
> Per report from Mitsumasa Kondo. Apply to 9.1 and 9.2, like the previous
> fix. Master was already doing this differently; this patch makes 9.1 and
> 9.2 to do the same thing as master.

--
NTT Open Sorce Software Center
Mitsumasa KONDO

Attachment

Re: pgsql: Install recycled WAL segments with current timeline ID during re

From
KONDO Mitsumasa
Date:
> I test this patch, it seems to fix this problem. I think recovery and WAL write
> control are very difficult... So I make debug log which is more helpful for like
> this trouble.
Sorry, attached my patch had very easy problem... Please used this patch.

Best regards,
--
NTT Open Sorce Software Center
Mitsumasa KONDO

Attachment