[ZODB-Dev] My turn for ReadConflictErrors...

Wankyu Choi wankyu at neoqst.com
Thu Jun 12 20:57:36 EDT 2003


>> Recently I had a visitor who was apparently trying to download the 
>> whole contents of a site I'm running for hours (using Teleport or 
>> something like that), which took.the performance of the site to a 
>> crawl for as many hours: a readconflicterror on every request ( one or 
>> two errors per second, that was too much.)

>You only get a conflict error (read or write) if there is a concurrent
write 
>transaction. Do you know whan causes all those writes?

I **did** have a suspect: an access log counter of my own creation. But the
error persisted even when I turned it all off. Conflicts happen even with
stock CMF/Plone types (Documents) with no such write-intensive properties. I
suspect my ZEO setup... but don't know where to look since I can't figure
out what's writing what. There should be no thread writing anythning, only
threads reading something, in which case no conflict (isn't
READconflicterror a misnomer?) should be raised. But I still see these
conflicts. Out of suspects or ideas.

I even tried Dieter's "no more readconlfict" patch. No use. 

>> The first time I saw that "Site Error (ReadConflictError)" screen of 
>> death...

>"screen" meaning in a browser, or in a log file? You only see it in the 
>browser after three consecutive conflict errors (that is, three retries
that 
>all fail the same way). 

I meant the default Zope Site Error page detailing the conflict error. 

In fact, I was able to reproduce this error by fast-reloading (repetitively
hitting F5 or CTRL-R for example in a short period of time) a CMF document.
( Surely, the doc wasn't coming up fast since behind the scenes conflict
errors were preventing the page from coming up at all. Why the conflicts? I
wasn't writing anything.  ) Any user with a little bit of knowledge about
ZODB conflct errors ( and enough malice ) might be able to take the whole
site to a crawl...

Any storage system would have a conflcit resolution mechanism. I've been
using MySQL for years, for example, and it didn't give me any such headaches
about read/write conflicts. Why can't ZODB be like that in terms of
resolving conflicts? ( this might be another stupid newbie question... but
at least it looks like a legitimate one ;)

And... like I said in my previous posting... I'm just rambling out of
frustration :-) Understandably, though... since I've been doing this Zope
stuff for almost a year and a half now with no end in sight in terms of
troubles I'm facing. I was a complete newbie to Zope, and even to Python.
I've covered a lot of ground since... but still have a long way to go to
accomplish what I want. 

Zope/ZODB/ZEO.. truly magnificent. They've worked wonders I couldn't see in
any other tools... now I realized those wonders don't come cheap.

Guess I need a break from all this ;-) 16 months on the same one-man
probject going in circle... whew. 

Thanks anyway, Toby, for your continuous support and concern.

All the best,
Wankyu Choi
---------------------------------------------------------------
  Wankyu Choi
  CEO/President
  NeoQuest Communications, Inc.
  http://www.zoper.net
  http://www.neoboard.net
---------------------------------------------------------------   






More information about the ZODB-Dev mailing list