[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