in this particular case, ZEO is a red herring... In beta 4 (and curiously, not on the HEAD--I'm sure I'll hear a "mea maxima culpa" soon > from someone) the base class for the SessionDataManagerTraverser was made to be a persistent object. Since the base class changed, the ZODB is now having fits trying to reconcile the change in base classes.
Ugg.
Since the session data manager object gets created automatically by Zope > when it doesn't exist at system startup, you can make a new one (which inherits from Persistent) by:
<snip> This all sounds right. Thanks Matt! Unfortunately, I don't think I can really make it so the transition between 2.4 <-> 2.5 (forwards and backwards) is completely seamless in all cases.... all I can do is provide software that helps folks get over their partiuclar hump. I think what might be in order is: - A monkey patch to 2.3 and 2.4 that causes the request to ignore the effects of a bad __before_publishing_traverse__ entry. This will be the prescription for "AttributeError: __call__" errors when downgrading from 2.5 to 2.3/2.4. (Alternately, I could code up a little script that deleted the root __before_publising_traverse__ method, but that would also rid the site of access rules at the root). - Prominent mention of Matt's workaround for upgrading from 2.5.0 beta 1-3 to 2.5.0 beta 4.