Re: could not extend file "base/5/3501" with FileFallocate(): Interrupted system call

From: Andres Freund <andres(at)anarazel(dot)de>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Christoph Berg <myon(at)debian(dot)org>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: could not extend file "base/5/3501" with FileFallocate(): Interrupted system call
Date: 2023-06-10 04:35:38
Message-ID: 20230610043538.2z46xyoaohj4fjnf@awork3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

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

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2023-06-10 05:33:31 Re: pgsql: Fix search_path to a safe value during maintenance operations.
Previous Message Andres Freund 2023-06-10 03:15:47 pgsql: meson: Add dependencies to perl modules to various script invoca

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2023-06-10 04:40:15 Re: Cleaning up nbtree after logical decoding on standby work
Previous Message Andres Freund 2023-06-10 04:28:23 Re: pg_stat_io for the startup process