[Zope] Trying to trap ConflictError

Jonathan dev101 at magma.ca
Wed Jul 5 14:40:38 EDT 2006


----- Original Message ----- 
From: <dieter at handshake.de>
To: "Jonathan" <dev101 at magma.ca>
Cc: "Dennis Allison" <allison at shasta.stanford.edu>; <zope at zope.org>
Sent: Wednesday, July 05, 2006 2:28 PM
Subject: Re: [Zope] Trying to trap ConflictError


> Jonathan wrote at 2006-7-4 13:46 -0400:
>> ...
>>The image objects stored in
>>TemporaryStorage are never overwritten, edited etc (which is causing me 
>>some
>>confusion as to why the conflict errors are occurring)
>
> The error message tells your that the conflict is not caused by
> the modification of the image but the container holding your image.
>
> "BTreeFolder" already do conflict resolution -- and reduce the
> conflict probability by about a factor of 30 to 100 (depending on type).
>
> However, if several threads should try to add elements with the same
> id, then the conflict resolution cannot work.
> Maybe, that happens in your case?

The id for the image object is generated by the following code:

def MakeId():
   time.sleep(.01)
   ts = string.replace(str(time.time()),'.', '')   # remove floating point 
'.' char
   return ts[-10:]

So there should not be any collision of ids.

I am still investing, and have found errors like:

2006-07-04T14:48:12 ERROR ZODB.Connection Couldn't load state for 0x1c
Traceback (most recent call last):
  File "/usr/local/Zope-2.9.2/lib/python/ZODB/Connection.py", line 732, in 
setstate
    self._setstate(obj)
  File "/usr/local/Zope-2.9.2/lib/python/ZODB/Connection.py", line 768, in 
_setstate
    p, serial = self._storage.load(obj._p_oid, self._version)
  File "/usr/local/Zope-2.9.2/lib/python/tempstorage/TemporaryStorage.py", 
line 104, in load
    s=self._index[oid]
KeyError: '\x00\x00\x00\x00\x00\x00\x00\x1c'

in the event.log.   From my googling research, it appears that these type of 
errors may be due to insufficient memory (but I am not sure and am still 
investigating to see if this is the cause of the conflict errors).

Thanks to all for the suggestions and assistance!

Jonathan







More information about the Zope mailing list