[ZODB-Dev] ZeoServer, multiple storages and open file handles
Jon Dyte
jon at totient.co.uk
Sat Oct 20 08:52:53 UTC 2012
On 18/10/12 03:29, Tim Godfrey wrote:
> Hi all
>
> We have a customer on Plone 4.1 and recently we started to see a great
> increase in the number of open file descriptors the Zeoserver process
> uses.
>
> We have a pretty big system distributed over many servers as the Plone
> system gets a lot of requests. Currently we are running a Zeoserver
> with 30 storages and have 16 Zope clients that connect to it.
>
> I've had Zeoserver in debug mode to try and get some more insight into
> the problem and I'm seeing a lot of these errors:
>
> Exception in thread Thread-575:
> Traceback (most recent call last):
> File "/opt/informa/Python-2.6/lib/python2.6/threading.py", line 532,
> in __bootstrap_inner
> self.run()
> File "/opt/informa/Python-2.6/lib/python2.6/threading.py", line 484,
> in run
> self.__target(*self.__args, **self.__kwargs)
> File
> "/opt/informa/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/zrpc/connection.py",
> line 661, in server_loop
> asyncore.poll(30.0, map)
> File "/opt/informa/Python-2.6/lib/python2.6/asyncore.py", line 140,
> in poll
> r, w, e = select.select(r, w, e, timeout)
> ValueError: filedescriptor out of range in select()
>
if the server_loop function in connection.py was changed to call
asyncore.poll2 as far as I can tell the descriptor out of range
should go away as it uses the poll call rather than select.
Jon
More information about the ZODB-Dev
mailing list