From: | "higuchi(dot)daisuke(at)fujitsu(dot)com" <higuchi(dot)daisuke(at)fujitsu(dot)com> |
---|---|
To: | 'Fujii Masao' <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> |
Cc: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | RE: [Bug fix]There is the case archive_timeout parameter is ignored after recovery works. |
Date: | 2020-06-29 13:00:25 |
Message-ID: | OSBPR01MB175184E0B21ADE77043EADE8EC6E0@OSBPR01MB1751.jpnprd01.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Fujii-san, thank you for comments.
>The cause of this problem is that the checkpointer's sleep time is calculated
>from both checkpoint_timeout and archive_timeout during normal running,
>but calculated only from checkpoint_timeout during recovery. So Daisuke-san's
>patch tries to change that so that it's calculated from both of them even
>during recovery. No?
Yes, it's exactly so.
>last_xlog_switch_time is not updated during recovery. So "elapsed_secs" can be
>large and cur_timeout can be negative. Isn't this problematic?
Yes... My patch was missing this.
How about using the original archive_timeout value for calculating cur_timeout during recovery?
if (XLogArchiveTimeout > 0 && !RecoveryInProgress())
{
elapsed_secs = now - last_xlog_switch_time;
if (elapsed_secs >= XLogArchiveTimeout)
continue; /* no sleep for us ... */
cur_timeout = Min(cur_timeout, XLogArchiveTimeout - elapsed_secs);
}
+ else if (XLogArchiveTimeout > 0)
+ cur_timeout = Min(cur_timeout, XLogArchiveTimeout);
During recovery, accurate cur_timeout is not calculated because elapsed_secs is not used.
However, after recovery is complete, WAL archiving will start by the next archive_timeout is reached.
I felt it is enough to solve this problem.
>As another approach, what about waking the checkpointer up at the end of
>recovery like we already do for walsenders?
If the above solution is not good, I will consider this approach.
Regards,
Daisuke, Higuchi
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2020-06-29 13:13:24 | Re: some more pg_dump refactoring |
Previous Message | Masahiko Sawada | 2020-06-29 12:50:55 | Re: xid wraparound danger due to INDEX_CLEANUP false |