Обсуждение: [BUGS] BUG #14803: use receiverPtr as the endptr to call KeepLogSeg(endptr,&_logSegNo) in CreateRestartPoint

Поиск
Список
Период
Сортировка

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

От
bret.shao@outlook.com
Дата:
The following bug has been logged on the website:

Bug reference:      14803
Logged by:          bret shao
Email address:      bret.shao@outlook.com
PostgreSQL version: 9.5.7
Operating system:   ubantu
Description:

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.

if the file which is being needed in recover redo work is dropped then the
server will down.

i'm not very clear why use receiverPtr as the endptr to call
KeepLogSeg(endptr, &_logSegNo);




--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

On Thu, Sep 7, 2017 at 2:10 PM,  <bret.shao@outlook.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


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs