Hello everyone, I have a couple questions related to "conflict errors". During our home page stress testing (20 concurrent users), we detected several conflict errors (see trace below), We thought these could ONLY appear when writing objects in the ZODB. 2008-05-27T18:57:53 INFO ZODB conflict error at /portal/ (26 conflicts since startup at 2008-05-27T13:37:19) I have this problems too in a not estress testing. In a simple access (2 concurrents users) I have this response: 2008-05-27T13:23:48 INFO ZODB conflict error at /portal/ (22 conflicts since startup at 2008-05-27T10:37:28) 2008-05-27T13:23:48 INFO ZODB conflict error at /portal/ (23 conflicts since startup at 2008-05-27T10:37:28) 2008-05-27T13:29:21 INFO ZODB conflict error at /portal/login_form_usuario_pwd/ (29 conflicts since startup at 2008-05-27T10:37:28) 2008-05-27T13:29:22 INFO ZODB conflict error at /portal/login_form_usuario_pwd/ (30 conflicts since startup at 2008-05-27T10:37:28) 2008-05-27T19:48:40 INFO ZODB conflict error at /portal/portal_css/Plone Default/ploneStyles5658.css (68 conflicts since startup at 2008-05-27T13:37:19) I would like to know: - Can conflict errors appear when reading objects from the ZODB? - Could conflict errors be the cause of a "spinning ZOPE" scenario? - Is there any situation where ZOPE could try to write objects when rendering an "only read" page? - How can they be solved? - Can I realize partial commits? How to? Our configuration is as follows: Apache + Pound + ZEO architecture (5 ZEO clients, 1 ZEO storage server - 650.000 ZODB objects) Thanks in advance.
Previously David Otero Figueroa wrote:
Hello everyone,
I have a couple questions related to "conflict errors".
During our home page stress testing (20 concurrent users), we detected several conflict errors (see trace below), We thought these could ONLY appear when writing objects in the ZODB.
That is correct. You need to audit your check to check for undesired writes. Wichert. -- Wichert Akkerman <wichert@wiggy.net> It is simple to make things. http://www.wiggy.net/ It is hard to make things simple.
On Jun 5, 2008, at 9:52 AM, David Otero Figueroa wrote:
I would like to know: - Can conflict errors appear when reading objects from the ZODB?
Yes
- Could conflict errors be the cause of a "spinning ZOPE" scenario?
Yes.
- Is there any situation where ZOPE could try to write objects when rendering an "only read" page?
Yes. Sessions can often cause writes, depending on how you use them and on the session implementation you're using.
- How can they be solved?
You can set a break point in ZODB.Connection.register and then look at the call stack to see who's writing.
- Can I realize partial commits? How to?
I don't know what a "partial commit" is. You can commit more often. This usually is a bad idea and wouldn't help if you don't intent to write in the first place. Jim -- Jim Fulton Zope Corporation
On Jun 5, 2008, at 10:16 AM, Jim Fulton wrote:
On Jun 5, 2008, at 9:52 AM, David Otero Figueroa wrote:
I would like to know: - Can conflict errors appear when reading objects from the ZODB?
Yes
Gaaa. I meant no. Jim -- Jim Fulton Zope Corporation
Jim Fulton wrote at 2008-6-5 10:46 -0400:
On Jun 5, 2008, at 10:16 AM, Jim Fulton wrote:
On Jun 5, 2008, at 9:52 AM, David Otero Figueroa wrote:
I would like to know: - Can conflict errors appear when reading objects from the ZODB?
Yes
Gaaa. I meant no.
Nevertheless, I think you have been right in the first place. Usually, MVCC prevents read conflict errors but "TempStorage" only maintains a very limited history -- occasionally to small to fully implement MVCC. Then read conflict errors will occur. -- Dieter
On Jun 6, 2008, at 2:41 PM, Dieter Maurer wrote:
Jim Fulton wrote at 2008-6-5 10:46 -0400:
On Jun 5, 2008, at 10:16 AM, Jim Fulton wrote:
On Jun 5, 2008, at 9:52 AM, David Otero Figueroa wrote:
I would like to know: - Can conflict errors appear when reading objects from the ZODB?
Yes
Gaaa. I meant no.
Nevertheless, I think you have been right in the first place.
Usually, MVCC prevents read conflict errors but "TempStorage" only maintains a very limited history -- occasionally to small to fully implement MVCC. Then read conflict errors will occur.
Sure. The right answer is "generally, no". :) Jim -- Jim Fulton Zope Corporation
participants (5)
-
David Otero Figueroa -
Dieter Maurer -
Jim Fulton -
Tino Wildenhain -
Wichert Akkerman