[ZODB-Dev] Zope 2.8.0-a1 issues

Tim Peters tim at zope.com
Mon Mar 14 15:57:15 EST 2005


[Bisaillon, Brian (MBS)]
> Hello again,
>
> I have tested Zope 2.8.0-a1 and I had to make the following changes to
> existing Products.
>
> DirectoryStorage:
>
> Full.py - Replace ZODB.referencesf with ZODB.serialize
> checkds.py - Replace ZODB.referencesf with ZODB.serialize
> dumpdsf.py - Replace ZODB.referencesf with ZODB.serialize
> utils.py - Replace ZODB.referencesf with ZODB.serialize

As I mentioned in earlier email today, it's quite possible that
DirectoryStorage isn't compatible with ZODB 3.3.  Zope 2.8 uses ZODB 3.3.
In any case, DirectoryStorage isn't part of ZODB or Zope, nor does Zope Corp
maintain it -- zodb-dev isn't the right place for DirectoryStorage
questions/problems (I don't mind it, but it's generally not an _effective_
place to bring them up).

> CMFSin:
>
> Map.py - Replace ZODB.PersistentMapping with persistent.mapping

If that's part of Plone, this isn't a good place to talk about that either
(& for the same reasons).

> kupu:
>
> plonelibrarytool.py - Replace ZODB.PersistentList with persistent.list
> plonelibrarytool.py - Replace ZODB.PersistentMapping with
>                               persistent.mapping

Ditto.  Nevertheless, I may have to add a hack so that the "old paths" for
PersistentList and PersistentMapping still work in a future ZODB 3.3 or 3.4
release.

> Now, I am getting the following Traceback and I can't seem to get any
> further.
>
> Traceback (most recent call last):   File
> "/srv/zope-2.8.0-a1/lib/python/Zope/Startup/run.py", line 56, in ?    
...
> File "/srv/zope-2.8.0-a1/lib/python/ZEO/zrpc/connection.py", line 376, in
call
>     raise inst # error raised by server
> AttributeError: Full instance has no attribute 'loadEx'
>
> Any help with this one would be greatly appreciated.

You're out of luck on that one:  this says DirectoryStorage's "Full" (or at
least the version you're using) does not support the storage API additions
(for MVCC; loadEx() is one of them) in ZODB 3.3.  That leaves Zope 2.8 out
too.

It _may_ be possible to make progress by adding the keyword argument

    mvcc=False

to all DB.open() calls when using ZODB 3.3 with a non-MVCC storage, but I
don't know (it's not an intended use case, and I haven't tried it).



More information about the ZODB-Dev mailing list