I *think* it's the pool_size parameter in lib/python/ZODB/DB.py in the DB class' __init__ method: class DB: """The Object Database The Object database coordinates access to and interaction of one or more connections, which manage object spaces. Most of the actual work of managing objects is done by the connections. """ def __init__(self, storage, pool_size=7, # here... cache_size=400, cache_deactivate_after=60, version_pool_size=3, version_cache_size=100, version_cache_deactivate_after=10, ): Michel Pelletier wrote:
Marcus Collins wrote:
Some feedback:
Zope has in the past been fairly stable using four threads; it was only when the threads were increased to 20 that it began hanging repeatedly. We really *do* need to run Zope with a modest number of threads, as some database queries can be expected to take a couple of seconds to complete.
I suspect this problem *might* be unrelated to the threadlock discussed so far, in the case of the reported lock, 2 or more threads cause instability. In your case, you report 4 is stable.
I think you are running up against the hardwirded database connection limit (7) in ZODB. You have more threads then there are connections. I suggest not raising the number of threads above 7 or changing the hardwired limit... problem is I don't remember where the hardwiring is... This has been discussed in the past, look for messages by Jim Fulton.
-Michel
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
-- Chris McDonough Digital Creations Publishers of Zope - http://www.zope.org