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: Andres Freund <andres@anarazel.de>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, jungleboogie0@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2019-08-19T04:46:25Z
Lists: pgsql-bugs
Attachments
- parallel-slot-fdlimit.patch (text/x-diff) patch
On Sat, Aug 17, 2019 at 03:41:42PM -0700, Andres Freund wrote: > Heh, just discovered > https://www.postgresql.org/message-id/20160921171819.1357.29774%40wrigleys.postgresql.org > from the same reporter, where we went through this before :/ Ugh. > On 2019-08-17 17:59:05 -0400, Tom Lane wrote: >> Andres Freund <andres@anarazel.de> writes: >>> Most of the parallel code was move into bin/scripts/scripts_parallel.c - >>> but there's still the above error check. Seems like we ought to add a >>> ParallelSlotsMax() or such, and use that in the error check, rather than >>> check FD_SETSIZE directly? >> >> Yeah, that would likely be cleaner than just responding to this directly. > > I'll go and do that. Hm. I'd like to keep the dependency to select.h directly in scripts_parallel.c, so the ParallelSlotsMax sounds like a good thing to me so as FD_SETSIZE remains localized. That would give the attached which does not take care of pgbench, and there is an extra proposal in another part of this thread. Just looking at it now.. >> Indeed. I've confirmed the bug report on a local OpenBSD 6.4 build >> (clang 6.0.0), and with "make -k" I can see that reindexdb.c fails >> likewise. But this is unsurprising given that POSIX says that >> FD_SETSIZE is declared by sys/select.h. > > Right. Okay, then the current code is broken in this sense. It was surprising to not see the buildfarm complain about that though. -- Michael
Commits
-
Fix error handling of vacuumdb when running out of fds
- a21ec1a959ef 9.5.20 landed
- eb91b8ee6572 9.6.16 landed
- 4fca1460099e 10.11 landed
- 5d76c8037329 11.6 landed
- 63fc3b124008 12.0 landed
-
Fix error handling of vacuumdb and reindexdb when running out of fds
- 71d84efba714 13.0 landed
-
Fix compilation failure of vacuumdb and reindexdb with OpenBSD
- 56f8f9624ba0 13.0 landed
-
Improve Assert output
- d78d452bc5ac 13.0 cited
-
Refactor parallelization processing code in src/bin/scripts/
- 5f3840370b63 13.0 cited
-
vacuumdb: enable parallel mode
- a17923204736 9.5.0 cited