[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