[ZODB-Dev] URGENT: ZODB down - Important Software Application at CERN
Chris Withers
chris at simplistix.co.uk
Wed May 27 03:49:21 EDT 2009
Hanno Schlichting wrote:
>>> Hanno Schlichting recently posted a nice graph showing the persistent
>>> structure of a Plone Page object and it's 9 (!) sub-objects.
>>> http://blog.hannosch.eu/2009/05/visualizing-persistent-structure-of.html
>> That graph isn't quite correct ;-)
>>
>> workflow_history has DateTime objects in it, and I think they get their
>> own pickle.
>
> Nope. DateTime objects are plain old-style classes and don't inherit
> from persistent.*.
Hmm, oh well, my bad...
In that case it must just be that their pickled form is huge compared to
an int ;-)
They are incredibly expensive to unpickle since all
> the DWIM magic in their __init__ get called each time, though.
How come? Unpickling doesn't call __init__ and I don't see why the DWIM
magic would be needed anyway, since everything has already been parsed.
It's actually the list of PersistentMappings that is the problem. Once
that gets large (ie: a content object that's been around for a long
time) then everything that adds workflow history commits a new copy of
that list.
cheers,
Chris
--
Simplistix - Content Management, Zope & Python Consulting
- http://www.simplistix.co.uk
More information about the ZODB-Dev
mailing list