On Tue, Oct 27, 2020 at 10:56:23PM +0300, Anastasia Lubennikova wrote:
> In case you need a second opinion on the remaining patch, it still looks
> good to me.
Thanks. The patch for v13 cannot use a macro, but one of the versions
of upthread would do just fine. I have been wondering about using the
new CheckBuffer() for the purpose of the retry to make it
concurrent-safe, but by looking at the code I think that we would run
unto problems when trying to open through smgr.c any relation file in
global/ as these require an invalid backend ID, and a WAL sender does
not satisfy that (see the assertion in GetRelationPath()). I have
been hesitating about increasing the number of retries though to give
more room to false positives. 20 perhaps? That would give 2s to a
disk to finish flushing a page that was caught in the middle of a
check with a sleep of 100ms, which sounds plenty enough.
--
Michael