Re: ThisTimeLineID in checkpointer and bgwriter processes

From: Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Amit Kapila <amit(dot)kapila(at)huawei(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ThisTimeLineID in checkpointer and bgwriter processes
Date: 2012-12-20 17:45:21
Message-ID: 50D34EB1.7020505@vmware.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 20.12.2012 18:19, Fujii Masao wrote:
> InstallXLogFileSegment() also uses ThisTimeLineID. But your recent commit
> doesn't take care of it and prevents the standby from recycling the WAL files
> properly. Specifically, the standby recycles the WAL file to wrong name.

A-ha, good catch. So that's actually a live bug in 9.1 and 9.2 as well:
after the recovery target timeline has changed, restartpoints will
continue to preallocate/recycle WAL files for the old timeline. That's
otherwise harmless, but the useless WAL files waste space, and
walreceiver will have to always create new files.

So instead of always running with ThisTimeLineID = 0 in the checkpointer
process, I guess we'll have to update it to the timeline being replayed,
when creating a restartpoint.

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavan Deolasee 2012-12-20 17:49:27 Re: Set visibility map bit after HOT prune
Previous Message Robert Haas 2012-12-20 17:29:43 Re: Set visibility map bit after HOT prune