Re: runzeo.py exit with unexpected exit code
Etienne Robillard <[email protected]>
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
The other option I considered was to replace select.select() calls to use native epoll library in ZEO/zrpc/client.py. According to Gevent documentation, monkey.patch_all() may replace select.select() with gevent.select.select() for improved cooperativity. http://www.gevent.org/gevent.monkey.html Regards, E Le 2017-04-06 à 10:06, Jason Madden a écrit : > > This error means either one of the file descriptors is negative, or one of the file descriptors is greater than the compile-time constant FD_SETSIZE[1]. FD_SETSIZE is commonly (well, on two systems I checked) defined to be 1024[2]. Since you say that "[t]he issue seem to occur on high load", it seems likely that the file descriptor is too large. That is, you have too large a number of connections open concurrently...that, or there's a file descriptor/socket/connection leak in the code. Running `lsof` against the process might reveal information about the connections and file descriptors when you see this error. Or since you seem to be running with a source checkout of gevent, you could modify it to report the file descriptors when you see this error. > > As an aside, prior to gevent 1.2a1[3], gevent would handle this situation differently than the stdlib...sometimes that was a good thing (depending on system configuration), but just as often it could be a very bad thing. > > [1] https://github.com/python/cpython/commit/fda7b379acde3ad60bbd42acb6da7e7099d25133 > [2] https://access.redhat.com/solutions/488623 > [3] http://www.gevent.org/changelog.html#select-poll -- Etienne Robillard [email protected] http://www.isotopesoftware.ca/ -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.