Re: [COMMITTERS] pgsql: At promotion, archive last segment from old timeline with .parti

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: At promotion, archive last segment from old timeline with .parti
Date: 2015-05-22 09:59:44
Message-ID: 555EFE10.2000002@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

On 05/22/2015 12:35 PM, Fujii Masao wrote:
> Doesn't this change break the case where we want to PITR to the recovery
> target location in the last partial WAL file with the old timeline?
> In this case, that partial WAL file needs to be read and replayed. But
> since the suffix of its filename is .partial, unless DBA gets rid of the suffix,
> the WAL file cannot be restored and PITR would fail. No?

PITR to a specific location always requires manual intervention by the
DBA anyway. It's not something you'd automate. Copying the .partial file
manually into pg_xlog is just one small extra step.

Even if there are some downsides to this, I think it's just plain evil
to archive a partial segment that looks indistinguishable from a
complete one. We have had reports of that causing confusion in
production systems. What if the master had already archived the complete
version of the segment before dying? The standby will try to archive a
partial version of the same, which will fail, or worse, overwrite the
complete version with the partial one.

Note that PITR in that scenario was always hit-and-miss. First of all,
if the master died, there is no guarantee that it archived all the
previous segments successfully before dying. (archive_mode=always
alleviates that in 9.5, as the standby will archive them even if the
master didn't).

(See discussion on this point at
http://www.postgresql.org/message-id/5535FE71.1010905@iki.fi)

- Heikki

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Fujii Masao 2015-05-22 12:15:50 Re: [COMMITTERS] pgsql: At promotion, archive last segment from old timeline with .parti
Previous Message Fujii Masao 2015-05-22 09:35:17 Re: pgsql: At promotion, archive last segment from old timeline with .parti

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-05-22 10:35:09 psql tabcomplete - minor bugfix - tabcomplete for SET ROLE TO xxx
Previous Message Amit Kapila 2015-05-22 09:46:36 Re: Parallel Seq Scan