On Tue, 19 Mar 2002 08:08:47 -0000, "Adrian Hungate" <adrian@haqa.co.uk> wrote:
For the last few weeks (And maybe longer) I have been seeing lots of messages about zope leaking, the gc crashing and generally, Zope going senile after long runtimes or lots of requests. This was (And I believe still is) a problem for Apache, which they solved by having threads only live for a certain number of calls, then they die and are replaced by newly created threads. I know that with the current ZODB access model, this would be too slow, but is there any way that the opening of the ZODB could be moved to a different thread or earlier, before the fork, so that we could simply kill senile threads without killing the entire shooting match?
Sure. Run two Zope processes connected to a single ZEO server. If you use a load balancer that knows to avoid a dead backend, then you are safe as long as the zopes dont go down at the same time. See also this proposal for getting lame Zopes killed quickly: http://dev.zope.org/Wikis/DevSite/Proposals/ToleratingHangsAndLeaks Toby Dickenson tdickenson@geminidataloggers.com