Tim Peters wrote:
I had zodb hanging when It had to solve Conflict situations. It turned
out to be that it tried to import some modules that tried to instantiate
... cut ...
Just a small suggestion. Is there any way to catch this problem and
issue a specific Execption rather that letting zeo hanging?
I expect you'll discover the difficulties if you try to define _precisely_
what "this problem" is. How is the ZEO client connection code supposed to
guess that, despite that you asked to connect to a ZEO server, you didn't
really mean it ;-) ?
Is there any use case for this scenario? clonflict resolution calling
code that need to open another connection to the same db?
In fact it was zeo server code looping using 100% CPU... probably
there is the place where to check...
Extreme answers like "well, it could examine the call stack and see whether
conflict resolution invoked this code, and then guess that, if it is, the
code didn't really mean to connect to ZEO" don't make much sense.
If the problem statement is correct, available solutions can be
analyzed... I don't see any reason for zeo server needing to open
client connection to itself...
But... this is seem an academic discussion and nothing that
really deserves time...
When you are inexperienced and come from 2 debugging days, it's
difficult to be lucid enough to do smart posts ;-)
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org