public inbox for [email protected]
help / color / mirror / Atom feedFrom: Etsuro Fujita <[email protected]>
To: Andres Freund <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: Another WaitEventSet resource leakage in back branches
Date: Fri, 12 Apr 2024 20:21:24 +0900
Message-ID: <CAPmGK14dPehfKNncTLdm1n19wM6muijG6WRJtQ5dustxxzmUeQ@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CAPmGK16MqdDoD8oatp8SQWaEa4vS3nfQqDN_Sj9YRuu5J3Lj9g@mail.gmail.com>
<[email protected]>
Hi Andres,
On Fri, Apr 12, 2024 at 1:29 AM Andres Freund <[email protected]> wrote:
> On 2024-03-22 21:15:45 +0900, Etsuro Fujita wrote:
> > While working on [1], I noticed $SUBJECT: WaitLatchOrSocket in back
> > branches is ignoring the possibility of failing partway through, too.
> > I added a PG_FAINALLY block to that function, like commit 555276f85.
> > Patch attached.
>
> Could you expand a bit on the concrete scenario you're worried about here?
> PG_TRY/CATCH aren't free, so adding something like this to a quite common
> path, in the back branches, without a concrete analysis as to why it's needed,
> seems a bit scary.
What I am worried about is that system calls used in
WaitLatchOrSocket, like epoll_ctl, might fail, throwing an error
(epoll_ctl might fail due to eg, ENOMEM or ENOSPC). The probability
of such failures would be pretty low, but not zero.
This causes more problems than it solves?
Thanks for the comment!
Best regards,
Etsuro Fujita
view thread (3+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: Another WaitEventSet resource leakage in back branches
In-Reply-To: <CAPmGK14dPehfKNncTLdm1n19wM6muijG6WRJtQ5dustxxzmUeQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox