[Zope] Read conflicts

Thierry FLORAC thierry.florac@onf.fr
Thu, 6 Mar 2003 11:40:21 +0100


On Thursday 06 March 2003 11:30, Jakub Wisniowski wrote:
>   Hi all
>
>      I've got some pages in my Zope application that display results
>      of SQL query (results returned by Z-SQL Method) and check for
> existence of some data in SESSION object. There is nothing more on the
> pages but one thing - pages are refreshed every 30 seconds. I also have
> some users (really not many) that constantly monitor these pages. The last
> thing I've got is some error messages.
>      The error message that displays on page looks like:
>
> An error was encountered while publishing this resource.
> ZODB.POSException.ConflictError
> Sorry, a site error occurred.
> Traceback (innermost last):
> =B0       Module ZPublisher.Publish, line 150, in publish_module
> =B0       Module ZPublisher.Publish, line 127, in publish
> =B0       Module ZPublisher.Publish, line 127, in publish
> =B0       Module ZPublisher.Publish, line 127, in publish
> =B0       Module ZPublisher.Publish, line 122, in publish
> =B0       Module Zope.App.startup, line 142, in zpublisher_exception_hook
> =B0       Module ZPublisher.Publish, line 102, in publish
> =B0       Module Zope.App.startup, line 200, in commit
> =B0       Module ZODB.Transaction, line 235, in commit
> =B0       Module ZODB.Transaction, line 349, in _commit_objects
> =B0       Module ZODB.Connection, line 391, in commit
> =B0       __traceback_info__: (('BTrees.OOBTree', 'OOBTree'),
> '\x00\x00\x00\x00\x00\x00\x01\xcd', '') =B0       Module
> Products.TemporaryFolder.TemporaryStorage, line 134, in store
> ConflictError: database conflict error (oid 00000000000001cd, serial was
> 034b62206010624c, now 034b621e679953b3)
>
>     This error usually disappears after refreshing the page (but
>     confuses the users). Some of error messages that are logged in my
> "stupid" log:
>
> 2003-03-06T09:50:36 INFO(0) ZODB conflict error at
> /ctt/cmp/info/yesterday/midday/index_html (138 conflicts since startup at
> 2003-03-05T16:20:08) ------
> 2003-03-06T09:52:29 INFO(0) ZODB conflict error at /ctt/firm/props (139
> conflicts since startup at 2003-03-05T16:20:08) ------
> 2003-03-06T09:52:39 INFO(0) ZODB conflict error at /ctt/firm/props (140
> conflicts since startup at 2003-03-05T16:20:08) ------
> 2003-03-06T09:52:49 INFO(0) ZODB conflict error at /ctt/firm/index_html
> (141 conflicts since startup at 2003-03-05T16:20:08) ------
> 2003-03-06T09:53:08 INFO(0) ZODB conflict error at
> /ctt/cmp/info/yesterday/index_html (142 conflicts since startup at
> 2003-03-05T16:20:08)
>
>  I have searched mailing lists, but I didn't find the answer for the
>  question - what's going on? and what interests me most: what to do
>  with this? I've found some sugestions that such errors called read
>  conflicts may be caused by
>  using the session. Is that true? Why the session? I don't think that I
>  can stop using session object.
>  Any more suggestions? Any solutions? There must be any simple
>  solution - my app has only few users!

I already had same kind of problem while "storing" Zope persistent objects=
=20
into SESSION.
Problem disappeared when switching SESSION informations to simple Python=20
objects (strings, lists,...).

Thierry
=2D-=20
  Linux every day, keeps Dr Watson away...
  http://gpc.sourceforge.net -- http://www.ulthar.net