[ZODB-Dev] WinNT ZEO Client randomly disconnecting :-(
Jeremy Hylton
jeremy@alum.mit.edu
Thu, 5 Jul 2001 12:51:14 -0400
I can't say when there will be a functional ZEO release, perhaps Jim can
when he gets back from vacation next week. I'll be out until August, when I
hope to get the occasional five hour block of sleep :-).
I'm not sure what to make of the reconnection problem. The test suite
contains a test of basic reconnection -- checkReconnection(). It catches
thread.error and ClientDisconnected and aborts the current transaction. The
rpc layer in ZEO will always raise an exception when the server disconnects;
as a consequence, one transaction will always need to be aborted and
retried.
It's a shame that the thread.error gets raised. Jim and I discussed the
problem in May, but I don't remember exactly when we concluded. There is a
design goal to release all locks when a connection disconnets, in order to
avoid deadlock. The implementation, however, is a bit muddy, because it
can't guarantee that the lock it is releasing is actually locked. It may be
quite a lot of work to change the behavior in this case, and I wouldn't
expect it in ZEO 1.0 final.
Are you seeing errors reported by Zope? Or by a custom application? Since
there was always a possibility that ZEO could raise thread.error, I assumed
that Zope caught that and retried.
Jeremy