Revert "Get rid of the dedicated latch for signaling the startup process".
authorFujii Masao <fujii@postgresql.org>
Thu, 17 Dec 2020 09:06:51 +0000 (18:06 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 17 Dec 2020 09:06:51 +0000 (18:06 +0900)
commit00f690a239932e477f25120d19b08aacdc30deb7
tree9a7bc448075b5c2e6adc2eae0cda0740fa0ab17e
parent88e014c149cc396fb218b08eda17c47d5b33e94f
Revert "Get rid of the dedicated latch for signaling the startup process".

Revert ac22929a26, as well as the followup fix 113d3591b8. Because it broke
the assumption that the startup process waiting for the recovery conflict
on buffer pin should be waken up only by buffer unpin or the timeout enabled
in ResolveRecoveryConflictWithBufferPin(). It caused, for example,
SIGHUP signal handler or walreceiver process to wake that startup process
up unnecessarily frequently.

Additionally, add the comments about why that dedicated latch that
the reverted patch tried to get rid of should not be removed.

Thanks to Kyotaro Horiguchi for the discussion.

Author: Fujii Masao
Discussion: https://postgr.es/m/d8c0c608-021b-3c73-fffd-3240829ee986@oss.nttdata.com
src/backend/access/transam/xlog.c
src/backend/postmaster/startup.c
src/backend/storage/ipc/standby.c