Re: BUG #15964: vacuumdb.c:187:10: error: use of undeclared identifier 'FD_SETSIZE'

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>, Dilip Kumar <dilipbalaut@gmail.com>, jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org, Michael Paquier <michael@paquier.xyz>
Date: 2019-08-18T01:03:17Z
Lists: pgsql-bugs
Hi,

On 2019-08-17 20:59:56 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Hm. This made me think: Why is
> >                 if (concurrentCons > FD_SETSIZE - 1)
> > a useful test / error message?
> 
> Good point, it's not.  Subtracting off 10 or so might be reasonable.

I wonder if we shouldn't just do the same as pgbench now does, and just
only error when adding a too large fd. That does reduce the number of
detected cases, true, but it also adds robustness, because larger fds
are properly handled.

> > What is the reason that this doesn't use poll() in the first place?
> 
> We still support platforms without that, no?  Windows, for one.

Ah, right. I forgot that because we do rely on poll() in latch.c - but
we do have an alternative windows implementation there...

Greetings,

Andres Freund



Commits

  1. Fix error handling of vacuumdb when running out of fds

  2. Fix error handling of vacuumdb and reindexdb when running out of fds

  3. Fix compilation failure of vacuumdb and reindexdb with OpenBSD

  4. Improve Assert output

  5. Refactor parallelization processing code in src/bin/scripts/

  6. vacuumdb: enable parallel mode