[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