On Thursday 17 April 2003 02:28 am, Bakhtiar A Hamid wrote:
hi to all i have sites that's running on zope2.6 (cvs 2.6 branch) on linux and py2.1.3
and we have these errors[1] many times in the day. sometimes, the error is caused by adding stuff, sometimes while searching the catalog.
updating the catalog clears the problem that arose from the searching of ZCatalog, but not while adding or modifying objects (that are CatalogAware. this is a ZClass that's been working from 2.1.6 up till 2.5.1)
the only difference is that on previous incarnation, we did not use ZCTextIndex. is that where the problem may be? or is it Catalog? or me?
thanks for any help
This (obviously) should not happen. This might be a bug in ZCTextIndex, or possibly an inconsistency bug in BTrees exposed by ZCTextIndex. Here is what I suggest: Try to write a script which creates and destroys these ZClasses in sufficient quantity to expose the error (possibly with an external XMLRPC script). If you can get it to fail over time with any consistency, then I would be interested in seeing this script and your ZODB. In leiu of that, you could run the BTree consistency check right after the error occurs (but before recataloging) to see if the BTrees are getting hosed. From the python command line (run from Zope/lib/python) that would look like:
import Zope; a = Zope.app() idx = a.Catalog._catalog.getIndex('Name of ZCTextIndex') from BTrees.check import check check(idx.index._wordinfo) check(idx.index._docweight)
If either of those check() calls fail then it is likely a BTree bug. Otherwise its a bug somewhere else. -Casey