[ZODB-Dev] zeopack error

Jim Fulton jim at zope.com
Thu Feb 9 16:42:05 UTC 2012


On Thu, Feb 9, 2012 at 11:32 AM, Marius Gedminas <marius at gedmin.as> wrote:
> On Thu, Feb 09, 2012 at 02:26:10AM +0100, Kaweh Kazemi wrote:
>> Thanks a lot for the investigation, Marius. That was awesome.
>>
>> Seems to me, I need to upgrade to Python 2.7 and be done with the
>> problem then. :/
>
> I wonder, though, if ZODB ought to use the 'noload' method of
> cPickle.Unpickler, which is undocumented and broken on 2.6 (and gone on
> 3.x, AFAIU).

noload exists for ZODB.

We ZC (DC at the time) wrote cPickle because ZODB needed a highly-optimized
pickler.  There are a number of decisions we made specifically with
ZODB in mind.

I don't think the Python 3 version of cPickle reflects these
priorities.  I strongly suspect
we'll end up having our own cPickle in the long run.

...

> I don't use cross-database references.

Cross-database references are definitely an advanced feature that can
lead to trouble. When used correctly, they can be very useful.

..

> Does zeopack consider cross-database references correctly when it checks
> for reachability?  I would hope so, but I don't really know.  It would
> only work if you're packing all the storages together, presumably.

zeopack only works on a single storage and thus can't take
cross-database references into account.

See http://pypi.python.org/pypi/zc.zodbdgc

Perhaps this should be included in ZODB 3.11.

Jim

-- 
Jim Fulton
http://www.linkedin.com/in/jimfulton


More information about the ZODB-Dev mailing list