Data Insert Problems
Hello all, I am currently running into an issue with an application I am working. I have a form, currently 5 fields but will soon grow to be much larger, and when I run 50 conncurrent users against it from Open STA. Of the 50 attempts I am seeing about 60% of them actually completed in the SQL database, I am seeing an error of: ZODB conflict error at /VirtualHostBase/http/server.domain.com:80/VirtualHostRoot/dir1//dir2/submit /processForm (27 conflicts since startup at 2005-03-21T13:33:44) Most of what I have found in digging is that data write intensive applications may have this issue, but I was wondering if anyone could recommend away around this? Could any one tell me what is happening that is causing this, the processForm object writes out to a SQL database, not to the ZODB?? Thanks for any and all help!! Jay
Jay Zeemer wrote:
Hello all,
I am currently running into an issue with an application I am working. I have a form, currently 5 fields but will soon grow to be much larger, and when I run 50 conncurrent users against it from Open STA.
What's Open STA?
ZODB conflict error at /VirtualHostBase/http/server.domain.com:80/VirtualHostRoot/dir1//dir2/submit /processForm (27 conflicts since startup at 2005-03-21T13:33:44)
Can you show us the code for processForm? I wonder if you're using the session object? writing to that can cause conflict errors as it is a mounted zodb storage... cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
Jay Zeemer wrote at 2005-3-21 15:46 -0500:
I am currently running into an issue with an application I am working. I have a form, currently 5 fields but will soon grow to be much larger, and when I run 50 conncurrent users against it from Open STA. Of the 50 attempts I am seeing about 60% of them actually completed in the SQL database, I am seeing an error of:
ZODB conflict error at /VirtualHostBase/http/server.domain.com:80/VirtualHostRoot/dir1//dir2/submit /processForm (27 conflicts since startup at 2005-03-21T13:33:44)
This means that several requests tried to concurrently write to the same object.
Most of what I have found in digging is that data write intensive applications may have this issue, but I was wondering if anyone could recommend away around this? Could any one tell me what is happening that is causing this, the processForm object writes out to a SQL database, not to the ZODB??
A relational database can have the same issues as the ZODB (transaction aborts due to concurrent conflicting writes). A good database adapter will map this case to a "ConflictError". However, it is more likely that you write to the ZODB indeed -- probably unexpected. There is a patch around (from me) that makes "ConfictError" reports more informative. Search for it an apply it. The additional information allows to identify the object being wriiten to concurrently. -- Dieter
participants (3)
-
Chris Withers -
Dieter Maurer -
Jay Zeemer