RE: [ZODB-Dev] ZODB.POSException.ReadConflictError
[EMAIL PROTECTED] I'm getting a ZODB.POSException.ReadConflictError on my Plone 2.0.5 site (Zope 2.7.3, Python 2.3.4 on Mac OS X Server 10.3.9). It happens most frequently when members try to register on my site (about 10% of the time), but occasionally happens when other pages are accessed (no pattern). Alternatively, a blank page is returned. No messages appear in the Zope or Plone error log. ... Read conflicts are a normal, expected part of using ZODB. Zope normally retries a transaction that suffers a read conflict some number of times, and makes it visible only if the transaction continues getting read conflicts. There's really nothing you can do at the ZODB level to minimize this. I hope you saved your original email, because it's a good description, but you're much more likely to get a useful reply if you send it to a Plone (or maybe Zope) list. ... Is there something wrong with my installation It's really not a ZODB question. or is there something wrong with my data.fs file? How do I correct either? There's no evidence of a Data.fs problem here. If you want to check anyway, read this (which is good stuff to know anyway!): http://zope.org/Wikis/ZODB/FileStorageBackup and try fstest and fsrefs, as described there. ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
RE: [ZODB-Dev] Indexing: Query Optimization
[Thomas Guettler] I developed a simple index using ZODB. Searching for single values is very fast. Searching big ranges is slow. Example: Search: customer_id=0815 date_start=2001-01-01 date_end=2004-12-31 The index holds a btree which maps values to docids. The search for customer_id is very fast (Maybe 500 results) . But the range search from date_start to date_end is slow (Maybe 100.000 results). Up to now I use the intersection method of the BTree package to join the result with a logical AND. It would be better if the index would do the search for customer_id first, and then filter the result by deleting entries which are not in the given time period. Has anyone done such a Query Optimization? (Zope, Zope3, IndexCatalog, ...) Since btrees and btree ranges don't know their size, you need to do something like this: - do range searches at the end - if index foo is used, use it first, ... Dieter Maurer wrote some packages I suspect you'd find interesting in this respect: http://mail.zope.org/pipermail/zope/2004-August/152627.html ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev
Re: [ZODB-Dev] ZODB.POSException.ReadConflictError
[EMAIL PROTECTED] wrote: I'm getting a ZODB.POSException.ReadConflictError on my Plone 2.0.5 site (Zope 2.7.3, Python 2.3.4 on Mac OS X Server 10.3.9). It happens most frequently when members try to register on my site (about 10% of the time), but occasionally happens when other pages are accessed (no pattern). Alternatively, a blank page is returned. No messages appear in the Zope or Plone error log. Seeing that the tracebacks involve CMFFormController, it may be that this product is abusing sessions and using them badly. Florent -- Florent Guillaume, Nuxeo (Paris, France) CTO, Director of RD +33 1 40 33 71 59 http://nuxeo.com [EMAIL PROTECTED] ___ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev