[Zope-dev] many conflict errors

Maciej Wisniowski maciej.wisniowski at coig.katowice.pl
Fri May 25 08:15:39 EDT 2007

Perry napisał(a):
> Answering to myself:
> we could get rid of the sessionrelated conflict errors, by removing all
> session = context.REQUEST.SESSION
> from our scripts. But we still have these conflict errors:
> how can I find out, what causes these conflicts.
> 2007-05-25T10:17:50 INFO ZPublisher.Conflict ConflictError at
> /VirtualHostBase/http/uniben.waeup.org:80/uniben/VirtualHostRoot/campus/students/U431409/study_course/create_level:
> database conflict error (oid 0x7905e6, class BTrees._IOBTree.IOBucket,
> serial this txn started with 0x036ddc2a44454dee 2007-05-25
> 09:14:16.000950, serial currently committed 0x036ddc2c21950377
> 2007-05-25 09:16:07.870801) (80 conflicts (10 unresolved) since startup
> at Fri May 25 05:19:08 2007)
Try to change session resolution seconds (Timeout resolution (in seconds))
parameter to a larger value. Possibly you're ecountering same problem as I
had some time ago. With long requests and small session resolution
seconds I had a lot of conflict errors.

I think it is because of way sessions work in zope. Every x
seconds (where x is 'session resolution seconds'), when there is access
to SESSION, session objects are moved in OOBTrees. It is used to handle
session expiration.
Not used session objects are moved to the end of the
'list' and finally removed after Session Timeout is reached. I don't
know how this exactly goes but it is something like that.

When this 'movement' happens during request (session object is moved
when request that is bound to it is still being served) this causes
conflicts. You may look at group archives for my posts month or two
months ago...

It is easy to reproduce these errors.

Maciej Wisniowski

More information about the Zope-Dev mailing list