Attach FPI to the first record after full_page_writes is turned on.

Amit Kapila <akapila@postgresql.org>

Commit: fd4f2af774db6a978130da88e94e7425c07651d5
Author: Amit Kapila <akapila@postgresql.org>
Date: 2018-09-13T10:38:55Z
Releases: 9.6.11
Attach FPI to the first record after full_page_writes is turned on.

XLogInsert fails to attach a required FPI to the first record after
full_page_writes is turned on by the last checkpoint.  This bug got
introduced in 9.5 due to code rearrangement in commits 2c03216d83 and
2076db2aea.  Fix it by ensuring that XLogInsertRecord performs a
recomputation when the given record is generated with FPW as off but
found that the flag has been turned on while actually inserting the
record.

Reported-by: Kyotaro Horiguchi
Author: Kyotaro Horiguchi
Reviewed-by: Amit Kapila
Backpatch-through: 9.5 where this problem was introduced
Discussion: https://postgr.es/m/20180420.151043.74298611.horiguchi.kyotaro@lab.ntt.co.jp

Files

PathChange+/−
src/backend/access/transam/xlog.c modified +13 −6

Discussion