Re: [BUG] Checkpointer on hot standby runs without looking checkpoint_segments
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Cc: heikki.linnakangas@enterprisedb.com, pgsql-hackers@postgresql.org
Date: 2012-04-22T23:59:10Z
Lists: pgsql-hackers
Attachments
- standby_checkpoint_segments_9.2dev_fix_20120423.patch (application/octet-stream) patch
On Thu, Apr 19, 2012 at 2:20 PM, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> wrote: > Hello, this is new version of standby checkpoint_segments patch. Thanks for the patch! > - xlog.c: Make StandbyMode shared. > > - checkpointer.c: Use IsStandbyMode() to check if postmaster is > under standby mode. IsStandbyMode() looks overkill to me. The standby mode flag is forcibly turned off at the end of recovery, but its change doesn't need to be shared to the checkpointer process, IOW, the shared flag doesn't need to change since startup like XLogCtl->archiveCleanupCommand, I think. So we can simplify the code to share the flag to the checkpointer. See the attached patch (though not tested yet). The comments in checkpointer.c seems to need to be revised more. For example, + * XLogInsert that actually triggers a checkpoint when Currently a checkpoint is triggered by XLogWrite (not XLogInsert), the above needs to be corrected. Regards, -- Fujii Masao