Hi all<div><br></div><div>I have sent an email to zodb-dev about this but I thought I&#39;d see if people here could shed some light on the issue as well. This time I will state the issue form a more Zope-client perspective.</div>

<div><br></div><div>Basically after an arbitrary amount of time I start getting these errors in the Zope client event logs:</div><div><br></div><div><div>2012-10-24T15:33:38 INFO ZEO.ClientStorage storage_c14_zeostorage Testing connection &lt;ManagedClientConnection (&#39;10.221.0.89&#39;, 8101)&gt;</div>

<div>------</div><div>2012-10-24T15:33:48 ERROR ZEO.zrpc (1021) CW: error in testConnection ((&#39;10.221.0.89&#39;, 8101))</div><div>Traceback (most recent call last):</div><div>  File &quot;/opt/informa/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/zrpc/client.py&quot;, line 595, in test_connection</div>

<div>    self.preferred = self.client.testConnection(self.conn)</div><div>  File &quot;/opt/informa/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/ClientStorage.py&quot;, line 565, in testConnection</div><div>

    stub = self.StorageServerStubClass(conn)</div><div>  File &quot;/opt/informa/buildout-cache/eggs/ZODB3-3.10.3-py2.6-linux-x86_64.egg/ZEO/ServerStub.py&quot;, line 386, in stub</div><div>    raise ValueError(&quot;Timeout waiting for protocol handshake&quot;)</div>

<div>ValueError: Timeout waiting for protocol handshake</div><div>------</div><div><br></div><div>I understand that it is possibly Zeo not providing a timely response but I&#39;m just wondering under what circumstances does the Zope client need to keep testing the connection? It was my understanding that it connects to Zeo and then it&#39;s connected? Even when the client reports these errors it is still responding to web requests fine.</div>

<div><br></div><div>It has the knock-on effect that the zeoserver starts consuming more file descriptors every time these connection attempts occur. There is a theoretical maximum number of file descriptors that can be used so if the trend continues then eventually Zeo will start failing to respond to queries. This is not ideal as the system should be able to run unattended indefinitely (normal housekeeping operations aside).</div>

<div><br></div><div>Any ideas?</div><div><br></div><div>Tim</div><div><br></div>-- <br>Tim Godfrey<br>Obsidian Consulting Group<br><br>P: +61 3 9355 7844<br>F: +61 3 9350 4097<br>E: <a href="mailto:tim@obsidian.com.au">tim@obsidian.com.au</a><br>

W: <a href="http://www.obsidian.com.au/">http://www.obsidian.com.au/</a><br>
</div>