[ZODB-Dev] error: release unlocked lock

Jeremy Hylton jeremy@zope.com
Wed, 22 Aug 2001 15:28:17 -0400 (EDT)


>>>>> "CW" == Chris Withers <chrisw@nipltd.com> writes:

  >> One possibilty is the patch I've included below,
  CW> I don't think I got that patch, what should I grab to get the
  CW> equivalent now?

I think it was a variant of a chance I committed on the zeo-1_0-branch
on Aug. 8.  The change log for it is:

    Don't release the commit lock unless there is a transaction in
    progress.  This appears to cause the "release unlocked lock" error
    to be replaced with a socket.error: "bad file descriptor".  That's
    progress?

A checkout from the branch should get the change.

  CW> PS: on the subject of exceptions, wouldn't it be great if
  CW> exceptions that could be re-tried all subclassed something like
  CW> RetryableException? ;-)

Yes.  I'd like to fix this for ZEO 1.0 final, but I'm holding off
until I understand why we're seeing all these retryable exceptions in
the first place.

Jim and I were talking about these exceptions yesterday and he pointed
out that the various exceptions that mean "the client disconnected
unexpectedly" aren't necessarily retryable.  There is a bug that is
causing disconnects when they shouldn't.  In the face of this bug, a
reconnect should work.  In general, though, if a client disconnects,
it probably means that the server has crashed or that connectivity to
the server is lost.  In those cases, retrying won't accomplish much.

Jeremy