[Zope] Error messages in startup after copying a Data.fs to a new zope version

2007-01-12 Thread Jonas Nielsen
I have ported a zope product running on zope 2.5.1 to zope 2.9. The 
application works fine with no error messages in the log.


Now I want to port an old Data.fs from zope 2.5.1 with the Product Data 
on. It seem to work fine by just copying it to the new zope 2.9 var 
directory. But every time I restart I get the error messages written at 
the bottom of this email. As said everything seems to work fine even 
searching. There is no error messages after zope has started.


So, does anyone know what errors the below messages could cause, and 
what I can do to correct them?




2007-01-12T10:12:37 INFO ZODB.Mount Opening database for mounting: 
'142907168_1016702399.626485'

--
2007-01-12T10:12:37 INFO ZODB.Mount Mounted database 
'142907168_1016702399.626485' at /temp_folder

--
2007-01-12T10:12:37 INFO Zope.ZCatalog Start migration of indexes for 
Control_Panel/Products/ExternalMethod/Help/catalog

--
2007-01-12T10:12:37 WARNING ZODB Could not import class 'BTree' from 
module 'BTree'

--
2007-01-12T10:12:37 WARNING ZODB Could not import class 'UnTextIndex' 
from module 'SearchIndex.UnTextIndex'

--
2007-01-12T10:12:37 WARNING ZODB Could not import class 'UnKeywordIndex' 
from module 'SearchIndex.UnKeywordIndex'

--
2007-01-12T10:12:37 WARNING ZODB Could not import class 'BTree' from 
module 'OIBTree'

--
2007-01-12T10:12:37 WARNING ZODB Could not import class 'BTree' from 
module 'IOBTree'

--
2007-01-12T10:12:37 INFO Zope.ZCatalog Finished migration of indexes for 
Control_Panel/Products/ExternalMethod/Help/catalog

--
2007-01-12T10:12:37 ERROR OFS.subscribers _delObject() threw
Traceback (most recent call last):
  File /usr/lib/zope2.9/lib/python/OFS/subscribers.py, line 149, in 
callManageBeforeDelete

ob.manage_beforeDelete(item, container)
  File /usr/lib/zope2.9/lib/python/HelpSys/HelpTopic.py, line 85, in 
manage_beforeDelete

self.unindex_object()
  File /usr/lib/zope2.9/lib/python/HelpSys/HelpTopic.py, line 95, in 
unindex_object

self.get_catalog().uncatalog_object(prefix + self.url())
  File /usr/lib/zope2.9/lib/python/Products/ZCatalog/ZCatalog.py, 
line 599, in uncatalog_object

self._catalog.uncatalogObject(uid)
  File /usr/lib/zope2.9/lib/python/Products/ZCatalog/Catalog.py, line 
383, in uncatalogObject

rid = uids.get(uid, None)
AttributeError: get

...
The above is repeated around 20-50 times
...
and it ends with the following message

2007-01-12T10:12:38 ERROR Zope Couldn't install ZCatalog
Traceback (most recent call last):
  File /usr/lib/zope2.9/lib/python/OFS/Application.py, line 783, in 
install_product

initmethod(context)
  File /usr/lib/zope2.9/lib/python/Products/ZCatalog/__init__.py, 
line 44, in initialize

context.registerHelp()
  File /usr/lib/zope2.9/lib/python/App/ProductContext.py, line 361, 
in registerHelp

self.registerHelpTopic(file, ht)
  File /usr/lib/zope2.9/lib/python/App/ProductContext.py, line 275, 
in registerHelpTopic

self.getProductHelp()._setObject(id, topic)
  File /usr/lib/zope2.9/lib/python/OFS/ObjectManager.py, line 333, in 
_setObject

notify(ObjectAddedEvent(ob, self, id))
  File /usr/lib/zope2.9/lib/python/zope/event/__init__.py, line 23, 
in notify

subscriber(event)
  File /usr/lib/zope2.9/lib/python/zope/app/event/dispatching.py, 
line 66, in dispatch

for ignored in subscribers(event, None):
  File /usr/lib/zope2.9/lib/python/zope/component/__init__.py, line 
181, in subscribers

return sitemanager.subscribers(objects, interface)
  File /usr/lib/zope2.9/lib/python/zope/component/site.py, line 89, 
in subscribers

return self.adapters.subscribers(required, provided)
  File /usr/lib/zope2.9/lib/python/zope/interface/adapter.py, line 
481, in subscribers

subscribers = [subscription(*objects)
  File /usr/lib/zope2.9/lib/python/zope/app/event/objectevent.py, 
line 192, in objectEventNotify

adapters = subscribers((event.object, event), None)
  File /usr/lib/zope2.9/lib/python/zope/component/__init__.py, line 
181, in subscribers

return sitemanager.subscribers(objects, interface)
  File /usr/lib/zope2.9/lib/python/zope/component/site.py, line 89, 
in subscribers

return self.adapters.subscribers(required, provided)
  File /usr/lib/zope2.9/lib/python/zope/interface/adapter.py, line 
481, in subscribers

subscribers = [subscription(*objects)
  File /usr/lib/zope2.9/lib/python/OFS/subscribers.py, line 114, in 
dispatchObjectMovedEvent

callManageAfterAdd(ob, event.object, event.newParent)
  File /usr/lib/zope2.9/lib/python/OFS/subscribers.py, line 137, in 
callManageAfterAdd

ob.manage_afterAdd(item, container)
  File /usr/lib/zope2.9/lib/python/HelpSys/HelpTopic.py, line 79, in 
manage_afterAdd

self.index_object()
  File /usr/lib/zope2.9/lib/python/HelpSys/HelpTopic.py, line 92, in 
index_object

self.get_catalog().catalog_object(self, prefix + self.url())
  File /usr/lib/zope2.9/lib/python/Products/ZCatalog/ZCatalog.py, 

Re: [Zope] Error messages in startup after copying a Data.fs to a new zope version

2007-01-12 Thread Dieter Maurer
Jonas Nielsen wrote at 2007-1-12 11:18 +0100:
 
I have ported a zope product running on zope 2.5.1 to zope 2.9. The 
application works fine with no error messages in the log.
 ...
   File /usr/lib/zope2.9/lib/python/Products/ZCatalog/Catalog.py, line 
383, in uncatalogObject
 rid = uids.get(uid, None)
AttributeError: get

It is possible that you catalogs are ancient? Even older than Zope 2.5.1?


Efficient mappings (such as those needed for the catalog
data structures) were implemented originally by BTree classes.
Later, BTree functionality was reimplemented and improved in
the BTrees package. In Zope 2.8, BTree support was dropped
(as Zope's base class ExtensionClass was rewritten as a new style
Python class and porting the old BTree package would have been
additional effort).


Apparently, you catalogs still use the old BTree package -- at least
this would give error messages such as the above.


If I am right and your are interested in keeping your catalog rather
than just rebuilding it in the new instance, then you would need
to migrate the old BTree objects into new BTrees objects
*IN THE OLD* instance. After that, you can move the storage.



-- 
Dieter
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )