Hello all,<div><br></div><div>I recently made a lot of changes to my ZODB app, and now I&#39;m experiencing some puzzling behavior.</div><div><br></div><div>Normally I have ~15 clients making requests to the server every few seconds. Some of these</div>
<div>requests commit new data to the database, while others just process existing data. I also</div><div>have a &#39;heartbeat&#39; client, which access the view called &#39;/is_alive&#39;, which is entirely described</div>
<div>by this function:</div><div><br></div><div>    def is_alive(request): return True</div><div><br></div><div>Once a day or so, I will get a report from the heartbeat client that the server is down - no heartbeat</div><div>
has succeeded in the past 10 minutes. Indeed, any URL I go to on the server, will simply not</div><div>load, but take forever - even this &#39;/is_alive&#39; view. </div><div><br></div><div>I can still SSH into the server, however. Running &#39;top&#39;, I see that the server is not taking any</div>
<div>CPU time, and is not taking any large amount of memory. The computer itself runs</div><div>just fine. I can even access the database with the paster shell, make requests, commit</div><div>things, etc., without any exceptional delays. If I CTRL+C the webserver and restart it,</div>
<div>things immediately work just fine. </div><div><br></div><div>Looking at the immediately preceding stdout, I see no hints of errors of any kind. However,</div><div>a printline is executed on the server every time two of those clients completes a request,</div>
<div>and I notice that, leading up to the current point in the stdout (where the webserver does not</div><div>respond anymore), there are a few &quot;Pipe is broken&quot; messages (which happen when, e.g.,</div><div>I go to a view with a web-browser and close the tab before the page loads), and I notice</div>
<div>that requests stopped completing from one of the two clients, then from the other. It seems</div><div>a gradual slowdown of some kind, though I&#39;m not entirely certain.</div><div><br></div><div>My question is: what could possibly be causing the server to &#39;lock up&#39;, even on a</div>
<div>simple view like &#39;is_alive&#39;, without using any memory or CPU? Is there some ZODB</div><div>resource that might be getting gradually exhausted because I&#39;m not handling it properly?</div><div><br></div><div>
Thanks in advance,</div><div>- Claudiu</div>