[ZODB-Dev] undo and zodb

Jim Fulton jim@zope.com
Tue, 03 Sep 2002 11:03:23 -0400


Toby Dickenson wrote:
> On Tuesday 03 Sep 2002 3:19 pm, Jim Fulton wrote:
> 
>>Toby Dickenson wrote:
>>
>>>On Tuesday 03 Sep 2002 11:57 am, Mario Bianchi wrote:
>>>
>>>>>bsddbStorage.Packless does what you want, although it is vulnerable to
>>>>>losing
>>>>>data in unusual boundary conditions.
>>>>>
>>>>...uh? What conditions? Please explain further, thanks.
>>>>
>>>For one example, see the branch of the thread around this post
>>>http://lists.zope.org/pipermail/zodb-dev/2002-May/002689.html
>>>
>>This *is* an extremely unusual condition.
>>
>>BTW, we are working on an autopacking storage that should be less
>>susceptible to this. (Even FileStorage is susceptible under extremely
>>pathological conditions).
>>
> 
> FileStorage (and probably many similar storages) can only be affected if the 
> pack-age parameter is shorter than the duration of the longest possible 
> 'pathological condition'.
> 
> The default pack age in Zopes management interface is zero - which couldnt 
> have been better chosen to provoke this rare condition. Is this sufficient 
> reason to change the default?

Perhaps.

> 
>>It would be helpful, in this case, for the
>>storage to check that it has data for all referenced objects. 
>>
> 
> An earlier phase of the store process has already determined which oids are 
> referenced by every stored object. It is a shame that this information cant 
> easily be passed down to the storage.

It could be, in ZODB 4. Note, however, that it's pretty easy for the storage to
get the references. To pass the references to the storage would require a larger
payload. It's possible that the cost of sending more data and the benefit of
not having to get the references in the storage could be a wash.

> 
>>There could
>>even be a special error type that would allow the database to recover the
>>lost object.
>>
> 
> That recovery couldnt be 100% reliable because the lost object may have been 
> turned into a ghost by the cache.


Right.

> 
>>If anyone is interested in working on this, let me know.
>>
> 
> could be....

Cool.

Let me know if you do and want any input.

Jim

-- 
Jim Fulton           mailto:jim@zope.com       Python Powered!
CTO                  (888) 344-4332            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org