I have a python product that has a class derived from CatalogAware and Folder. I programmatically add instances of these (1000s of them) on an automated basis every day in the early morning. My problem is that whenever I do this, the Catalog is updated with some problems: 1 - Metadata is skewed: DateTime objects are cataloged, and they end up with the wrong date ('2001/01/01') instead of today's date, even though the actual property contains today's date. The index in question is built from a property. 2 - Text indexes only get a portion of their text stored in the metadata, not all of it. The index in question is built from a class method in the product code. Using a bulk reindex solves this problem (subtransaction off, haven't tried it any other way). I'm using Zope 2.3.2 with ZEO 1.0b3 using a VHM. The automated process queries SQL for data, and uses those queries to create object instances of the previously mentioned catalog-aware class, and I create anywhere from 2000-7000 objects at a time. I'm not sure if this is due to the size of the transaction I am running. I haven't tried this in a smaller transaction yet; I was wondering if anyone else has seen this. Any thoughts? Sean ========================= Sean Upton Senior Programmer/Analyst SignOnSanDiego.com The San Diego Union-Tribune 619.718.5241 sean.upton@uniontrib.com =========================
On Fri, 31 Aug 2001 15:17:27 -0700, sean.upton@uniontrib.com wrote:
I have a python product that has a class derived from CatalogAware and Folder. I programmatically add instances of these (1000s of them) on an automated basis every day in the early morning.
My problem is that whenever I do this, the Catalog is updated with some problems: 1 - Metadata is skewed: DateTime objects are cataloged, and they end up with the wrong date ('2001/01/01') instead of today's date, even though the actual property contains today's date. The index in question is built from a property. 2 - Text indexes only get a portion of their text stored in the metadata, not all of it. The index in question is built from a class method in the product code.
Appologies if you already know this..... CatalogAware will automatically reindex if an object is added, deleted, or moved. However it does not automatically reindex if properties are changed. It sounds like your index might contain the default (initial) values for these properties. Do you need to add a call to reindex_object() after changing them from the defaults? Toby Dickenson tdickenson@geminidataloggers.com
participants (2)
-
sean.upton@uniontrib.com -
Toby Dickenson