RE: [ZODB-Dev] ZODB.POSException.ReadConflictError

2005-05-03 Thread Tim Peters
[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

2005-05-03 Thread Tim Peters
[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

2005-05-03 Thread Florent Guillaume

 [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