Hi, On 2021-03-26 18:20:14 +0900, Kyotaro Horiguchi wrote: > This is because XLogSendPhysical detects removal of the wal segment > currently reading by shutdown checkpoint. However, there' no fear of > overwriting of WAL segments at the time. > > So I think we can omit the call to CheckXLogRemoved() while > MyWalSnd->state is WALSNDSTTE_STOPPING because the state comes after > the shutdown checkpoint completes. > > Of course that doesn't help if walsender was running two segments > behind. There still could be a small window for the failure. But it's > a great help to save the case of just 1 segment behind.
-1. This seems like a bandaid to make a broken configuration work a tiny bit better, without actually being meaningfully better. Greetings, Andres Freund