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

Michael Paquier <michael@paquier.xyz>

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

Attachments

On Mon, Aug 19, 2019 at 12:32:51AM -0400, Tom Lane wrote:
> I think Andres' suggestion is probably fine: don't try to detect
> it in advance.  Just open the files, and error out if we need to
> put an fd index >= FD_SETSIZE into an fd_set.  It'll be a shade
> less user-friendly, in that the program might run for a bit before
> failing; but I doubt that such cases arise often enough to be worth
> working harder.

Thanks.  I have somewhat not catched what Andres was suggesting here.
So attached are two patches:
- 0001 should take care of the compilation failure, by moving
FD_SETSIZE into scripts_parallel.c.
- 0002 makes vacuumdb and reindexdb fail when trying to assign a
socket with an unsupported range.  Should this bit be backpatched?  We
are doing that for vacuumdb for some time now, and the error is
confusing so I would prefer fixing it on older branches as well.

Thoughts?
--
Michael

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