[ZODB-Dev] RFC: Attempts at Python2-compatible pickles cause unpicklable objects

Marius Gedminas marius at gedmin.as
Fri Jun 7 07:02:33 UTC 2013


On Thu, Jun 06, 2013 at 09:43:16PM -0400, Stephan Richter wrote:
> On Thursday, June 06, 2013 09:28:38 PM Tres Seaver wrote:
> > If I am correct about this consensus, then in addition to merging PR #11
> > for ZODB, we should also drop the 'bytes_as_strings' changes to
> > 'zodbpickle'.
> 
> Yes, this is a left-over from our experimentation. It did not work, since it 
> also pickled attribute names as bytes and when you loaded them, the attributes 
> would be gone.

The specific combination last used in ZODB4 on Python 3 (pickle
bytes_as_strings=True, load with encoding='ascii', errors='bytes')
handled attributes fine.

Apparently it broke datetime objects -- and I never noticed.

> Also, requiring protocol 3 for Python 3 sounds correct as well.

How about also bumping the magic number of Data.fs files so ZODB on
Python 2 would reject it early?

> BTW, sorry for not having caught this before the beta release.

Marius Gedminas
-- 
The IQ of the group is the lowest IQ of a member of
the group divided by the number of people in the group.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: Digital signature
URL: <http://mail.zope.org/pipermail/zodb-dev/attachments/20130607/12eb367b/attachment.sig>


More information about the ZODB-Dev mailing list