Hi, On 2023-06-06 21:53:00 +0200, Alvaro Herrera wrote: > On 2023-Apr-24, Andres Freund wrote: > > > A prototype of that approach is attached. I pushed the retry handling into > > the > > pg_* routines where applicable. I guess we could add pg_* routines for > > FileFallocate(), FilePrewarm() etc as well, but I didn't do that here. > > > > Christoph, could you verify this fixes your issue? > > So, is anyone making progress on this? I don't see anything in the > thread.
Thanks for bringing it up again, I had lost track. I now added an open items entry. My gut feeling is that we should go with something quite minimal at this stage. > On adding the missing pg_* wrappers: I think if we don't (and we leave > the retry loops at the File* layer), then the risk is that some external > code would add calls to the underlying File* routines trusting them to > do the retrying, which would then become broken when we move the retry > loops to the pg_* wrappers when we add them. That doesn't seem terribly > serious to me. I'm not too worried about that either. Unless somebody strongly advocates a different path, I plan to push something along the lines of the prototype I had posted. After reading over it a bunch more times, some of the code is a bit finnicky. I wish we had some hack that made syscalls EINTR at a random intervals, just to make it realistic to test these paths... Greetings, Andres Freund