Re: BUG #17828: postgres_fdw leaks file descriptors on error and aborts aborted transaction in lack of fds

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Andres Freund <andres@anarazel.de>, Etsuro Fujita <etsuro.fujita@gmail.com>, Alexander Lakhin <exclusion@gmail.com>, pgsql-bugs@lists.postgresql.org
Date: 2024-02-09T00:09:48Z
Lists: pgsql-bugs
On Fri, Feb 9, 2024 at 11:06 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Andres Freund <andres@anarazel.de> writes:
> > I also wonder if postgres_fdw should strive to use a longer lived wait event
> > set. For efficiency, if nothing else? That'd avoid the need to create one
> > during error handling.
>
> Seems like a plausible idea.  Having to acquire resources to clean up
> an error is an anti-pattern for sure.

FWIW, WRT to the long lived WES idea, I have had patches to explore
several different ways to do that (as I already did successfully for
other areas), and I will write about that again later, but I concluded
that we needed to fix this Windows nonsense first:
https://commitfest.postgresql.org/46/3523/  (That got withdrawn for
being too slow, but I'll resubmit it soon enough...)



Commits

  1. Fix resource leak when a FDW's ForeignAsyncRequest function fails