Thread: Record previous TLI in end-of-recovery record (was Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.)

(this is unrelated to the other discussion about this patch)

On 29.01.2013 02:07, Simon Riggs wrote:
> Fast promote mode skips checkpoint at end of recovery.
> pg_ctl promote -m fast will skip the checkpoint at end of recovery so that we
> can achieve very fast failover when the apply delay is low. Write new WAL record
> XLOG_END_OF_RECOVERY to allow us to switch timeline correctly for downstream log
> readers. If we skip synchronous end of recovery checkpoint we request a normal
> spread checkpoint so that the window of re-recovery is low.

It just occurred to me that it would be really nice if the 
end-of-recovery record, and the timeline-switching shutdown checkpoint 
record too for that matter, would include the previous timeline's ID 
that we forked from, in addition to the new TLI. Although it's not 
required for anything at the moment, it would be useful debugging 
information. It would allow reconstructing timeline history files from 
the WAL; that might come handy.

Barring objections, I'll add that.

- Heikki



On 7 February 2013 16:07, Heikki Linnakangas <hlinnakangas@vmware.com> wrote:

> It just occurred to me that it would be really nice if the end-of-recovery
> record, and the timeline-switching shutdown checkpoint record too for that
> matter, would include the previous timeline's ID that we forked from, in
> addition to the new TLI. Although it's not required for anything at the
> moment, it would be useful debugging information. It would allow
> reconstructing timeline history files from the WAL; that might come handy.
>
> Barring objections, I'll add that.

Good idea, please do.

That means a shutdown checkpoint becomes it's own record type.... but
my understanding of our other conversations was that you want to never
use shutdown checkpoints for end of recovery ever again, so that seems
unnecesary. Sorry to mix things up.

-- Simon Riggs                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services