Re: Misleading "epoll_create1 failed: Too many open files"

From: Andres Freund <andres(at)anarazel(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Misleading "epoll_create1 failed: Too many open files"
Date: 2024-11-26 17:21:21
Message-ID: aa2hsgt5c3loa3nk5bvmyvoxl32v5x36mshq36yshrkg5375oo@5pkvm3rwiad7
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2024-11-26 11:35:56 -0500, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > I think it's rather confusing to claim that epoll_create1() failed when we
> > didn't even call it.
> > Why are we misattributing the failure to a system call that we didn't make?
>
> I think the idea was that this mechanism is equivalent to an EMFILE
> limit. But if you feel a need to make a distinction, this seems fine:
>
> > elog(ERROR, "AcquireExternalFD, for epoll_create1, failed: %m");
>
> You should probably check all of 3d475515a, because I think
> I applied the same idea in more than one place.

Yea, there's another equivalent message for kqueue a few lines below.

The commit also added uses of AcquireExternalFD() to dblink and postgres_fdw (
since migrated to libpq-be-fe-helpers.h), but I don't think those need
improving in the same way. They never made it sound like it was a syscall
itself failing.

Greetings,

Andres Freund

Attachment Content-Type Size
v1-0001-Distinguish-between-AcquireExternalFD-and-epoll_c.patch text/x-diff 1.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2024-11-26 17:26:51 Re: Misleading "epoll_create1 failed: Too many open files"
Previous Message Robert Haas 2024-11-26 17:16:27 Re: Self contradictory examining on rel's baserestrictinfo