[ZODB-Dev] ReadConflictError while re-indexing big fat index

Roché Compaan roche at upfrontsystems.co.za
Mon Aug 2 09:47:48 EDT 2004



Chris Withers wrote:
> Roché Compaan wrote:
> 
>>> ReadConflictError: database read conflict error (oid 
>>> 000000000001ff36, class BTrees.IIBTree.IISet)
>>>
>>> 1. What is the above error message really trying to tell me?
>>>    (it's a pretty obscure message ;-)
>>
>>
>> An object (most probably the index) was modified and thus invalidated 
>> in another transaction. At the time that your indexing operation wants 
>> to commit, the ZEO server tells you that your are trying to modify an 
>> object that has been invalidated.
> 
> 
> I'm not sure that is correct. Sounds like you're describing a Write 
> ConflictError. I'm experiencing a ReadConflictError on the web serving 
> side of the equation, where no writing is being done...
> 

I have some wires crossed :-\ Last week I ordered "pee yellow" bricks 
(as my wife put it) instead of red ones. Must be because I stopped smoking.

Anyway, if I'm not mistaken, a ReadConflict will occur if an object is 
invalidated after it was loaded by the client. Inside 
Connection.setstate's you'll see this comment:

	# Avoid reading data from a transaction that committed
         # after the current transaction started, as that might
         # lead to mixing of cached data from earlier transactions
         # and new inconsistent data.

-- 
Roché Compaan
Upfront Systems                 http://www.upfrontsystems.co.za


More information about the ZODB-Dev mailing list