From: Michael Paquier [mailto:michael.paquier@gmail.com]
> Oops, sorry for that, I quite mess up with this patch. The WaitLatch() call
> should still have WL_POSTMASTER_DEATH so as it can leave earlier, but yes
> I agree with your analysis that HandleStartupProcInterrupts() as this is
> part of the redo work.
Thank you, but did you remove WL_LATCH_SET from WaitLatch() intentionally? I understood you added it for startup
processto respond quickly to events other than the postmaster death. Why don't we restore WL_LATCH_SET? I won't
objectto not adding the flag if there's a reason.
I'll mark this as ready for committer when I see WL_LATCH_SET added (optional) and you have reported that you did the
followingtest cases:
* Startup process vanishes immediately after postmaster dies, while it is waiting for a recovery conflict to be
resolved.
* Startup process vanishes immediately after "pg_ctl stop -m fast", while it is waiting for a recovery conflict to be
resolved.
* Startup process resumes WAL application when max_standby_{archive | streaming}_delay is changed from the default -1
toa short period, e.g. 10s, and "pg_ctl reload" is performed, while it is waiting for a recovery conflict to be
resolved.
> > Did Simon's committed patch solve the problem as expected?
>
> Does not seem so, I'll let Simon comment on this matter...
Agreed. I guess his patch for earlier releases should work if CHECK_FOR_INTERRUPTS() is replaced with
HandleStartupProcInterrupts().
Regards
Takayuki Tsunakawa