Re: BUG #14803: use receiverPtr as the endptr to call KeepLogSeg(endptr, &_logSegNo) in CreateRestartPoint

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: bret(dot)shao(at)outlook(dot)com
Cc: PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14803: use receiverPtr as the endptr to call KeepLogSeg(endptr, &_logSegNo) in CreateRestartPoint
Date: 2017-09-08 07:32:18
Message-ID: CAB7nPqS-RsyiwvPywrOyuMpM-DhqUoo0ynuNGTLOY3M0uMnbsQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Sep 7, 2017 at 2:10 PM, <bret(dot)shao(at)outlook(dot)com> wrote:
> when call KeepLogSeg to get the oldest xlog file in function
> CreateRestartPoint,
> I think the endptr shoule be the repalyPtr not the later one of receiverPtr
> and replayPtr.
> endptr = (receivePtr < replayPtr) ? replayPtr : receivePtr;
>
> Because that if the endptr is the receiverPtr, it means that may be the xlog
> file that is being redo will be dropped.

There are timeline-related things to consider, in short when doing a
timeline jump you may finish with a segment that you did not expect to
be recycled. See the link to the discussion and the commit in
question:
https://www.postgresql.org/message-id/50D30851.2030509%40vmware.com
http://git.postgresql.org/pg/commitdiff/af275a12dfeecd621ed9899a9382f26a68310263
--
Michael

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message email 2017-09-08 11:58:06 BUG #14806: WAL replay on standby: could not link file "pg_xlog/...4C" to "pg_xlog/...D1": File exists
Previous Message rani.renu 2017-09-08 03:27:17 BUG #14805: Issue with Duplicate entry