[Zope] LocalFS-1-3-andreas and Zope 2.7.2
Chris Withers
chris at simplistix.co.uk
Mon Jan 31 05:22:21 EST 2005
Dieter Maurer wrote:
>>...and packing removes them.
>
> This is funny indeed.
I think that depends on whether you're maintaining the Zope server that
has 1.5GB of disk space eaten up by junk ;-)
> When a transaction contains an object's data, then this
> means that either
>
> * this object was modified
>
> * this object was new *AND* is referenced by a modified
> persistent object
>
> * this object explicitely was assigned a "_p_oid" and
> was later modified
>
> In the first and second case, one would expect that the
> object is still reachable after the transaction.
> Thus packing should not remove it.
>
> It is highly unlikely, that LocalFS assigns oids explicitly.
> Thus, three should not apply.
Yes, but remember what LocalFS is doing is trying to spoof Zope into
believing objects come from within the ZODB, while actually storing them
on the file system.
I have a hunch that it probably mixes OFS.Image.File into its "File"
objects, and OFS.Image.File is doing something naughty (it usually does,
it's got some VERY esoteric code in it ;-) which results in data being
comitted to the ZODB. However, since LocalFS manages to not store any
data in the ZODB, the stuff OFS.Image.File causes to get comitted
probably gets packed away...
Sound plausible? I'm still keen to hear of anyone else who can reproduce
this...
> Did you show us a complete transaction?
Yep, pretty sure I did.
> Or are more objects involved?
Nope. All data in this project is supposed to be stored either in Oracle
or on the file system (accessed through LocalFS).
>>Does anyone know what's causing this and what could be done to fix it?
>
> Debugging in an interactive Python session?
Okay, but what am I looking for?
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the Zope
mailing list