[ZODB-Dev] undo and zodb

Jeremy Hylton jeremy@zope.com
Tue, 3 Sep 2002 11:43:48 -0400


>>>>> "TD" == Toby Dickenson <tdickenson@geminidataloggers.com> writes:

  TD> On Tuesday 03 Sep 2002 3:33 pm, Jim Fulton wrote:
  >> > By ensuring that it doesnt remove unreferenced objects until
  >> > they have been unreferenced for a fixed length of time?
  >>
  >> Right. This is less a solution than a mitigation.  It *is*
  >> possible to solve (well, maybe further mitigate) the problem, as
  >> I sketched out elsewhere.

  TD> Yes, agreed.

  TD> I was particularly worried about this happening during conflict
  TD> resolution, and I have bigger things to worry about if my
  TD> conflict resolution method takes a significantly long time.

I don't think you need to worry about this problem being exacerbated
by conflict resolution.  CR only deals with the state of a single
object.  That object must exist in the database, or its CR method
would not have been called.  The CR method can't create dangling
references; it executes as a sub-part of an existing transaction and
it only has full access to a single object.  The worst it can do is
remove the final reference to an object, causing the object to be
deleted at the end of the transaction.

Jeremy