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

Jim Fulton jim at zope.com
Fri Jun 7 13:56:13 UTC 2013


On Fri, Jun 7, 2013 at 3:02 AM, Marius Gedminas <marius at gedmin.as> wrote:
> 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

>>
>> 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?

+1

Jim


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


More information about the ZODB-Dev mailing list