Problem with AdManager
Hi Setup is: Zope 2.7.5, Python 2.3.5 (UNIX/gcc 2.95) (No ZEO, no CMF, no Plone!) We are trying to use the AdManager ZClass, a great product doing exactly what we needed. Testing this on the developer's machine, we had no problems. But having now done a "small scale" stress testing (requesting about 20 pages per second) on the server, some pages suddenly throw errors of the following kind (see traceback below). The errors are not all 100% like this one, but similar enough, I guess. The errors occur on a ratio of about 1:4 (so 4 successful pages, then one error). [I know this is not really scientific or would stand in a statistical analysis, but just to give you an idea.] We could also not find any connection between the errors and any of the 5 banners we're using for testing. (The product rotates which banner is displayed.) -- from the traceback -- ZODB.POSException.ReadConflictError Sorry, a site error occurred. Traceback (innermost last): Module ZPublisher.Publish, line 175, in publish_module_standard Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 139, in publish Module Zope.App.startup, line 163, in zpublisher_exception_hook Module ZPublisher.Publish, line 101, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module OFS.DTMLMethod, line 144, in __call__ Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_Var, line 214, in render Module OFS.DTMLMethod, line 137, in __call__ Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_Var, line 214, in render Module OFS.DTMLMethod, line 137, in __call__ <DTMLMethod instance at 91a9b90> URL: /advert_chooser/manage_main Physical Path:/advert_chooser Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_With, line 76, in render Module OFS.DTMLMethod, line 137, in __call__ <DTMLMethod instance at 9281cb0> URL: /site/advertisements/show_banner/manage_main Physical Path:/site/advertisements/show_banner Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_With, line 76, in render Module DocumentTemplate.DT_In, line 703, in renderwob Module DocumentTemplate.DT_Util, line 192, in eval __traceback_info__: date_end Module ZODB.Connection, line 599, in setstate Module ZODB.Connection, line 628, in _is_invalidated ReadConflictError: database read conflict error (oid 0x3244, class *ilYYN6piu7CmJucspzx0gA==.AdBanner) -- end traceback -- Any idea what is happening here?? This is beyond my understanding of Zope/ZODB and as it only happens occasionally, it does not seem to be a straight bug. Any suggestions on what I could try would be very welcomed. (If you are using a Banner Ad Manager that is a proper product, not a ZClass, that runs on a plain Zope, let me know.) Thanks in advance, DR
How are calling the ads, as I don't think you need these two calls in a normal ad display. URL: /advert_chooser/manage_main URL: /site/advertisements/show_banner/manage_main Also: Try turning off "count views" and maybe "count clicks" and see if it does the same thing. It might be that Zope can't write to the ZODB that fast, although I run AdManager on about 10 sites in one Zope install that gets 20,000+ views (page) a day with no problems. Jake -- http://www.ZopeZone.com David said:
Hi
Setup is: Zope 2.7.5, Python 2.3.5 (UNIX/gcc 2.95) (No ZEO, no CMF, no Plone!)
We are trying to use the AdManager ZClass, a great product doing exactly what we needed.
Testing this on the developer's machine, we had no problems. But having now done a "small scale" stress testing (requesting about 20 pages per second) on the server, some pages suddenly throw errors of the following kind (see traceback below). The errors are not all 100% like this one, but similar enough, I guess. The errors occur on a ratio of about 1:4 (so 4 successful pages, then one error). [I know this is not really scientific or would stand in a statistical analysis, but just to give you an idea.] We could also not find any connection between the errors and any of the 5 banners we're using for testing. (The product rotates which banner is displayed.)
-- from the traceback -- ZODB.POSException.ReadConflictError
Sorry, a site error occurred. Traceback (innermost last):
Module ZPublisher.Publish, line 175, in publish_module_standard Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 149, in publish Module ZPublisher.Publish, line 139, in publish Module Zope.App.startup, line 163, in zpublisher_exception_hook Module ZPublisher.Publish, line 101, in publish Module ZPublisher.mapply, line 88, in mapply Module ZPublisher.Publish, line 39, in call_object Module OFS.DTMLMethod, line 144, in __call__ Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_Var, line 214, in render Module OFS.DTMLMethod, line 137, in __call__ Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_Var, line 214, in render Module OFS.DTMLMethod, line 137, in __call__ <DTMLMethod instance at 91a9b90> URL: /advert_chooser/manage_main Physical Path:/advert_chooser Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_With, line 76, in render Module OFS.DTMLMethod, line 137, in __call__ <DTMLMethod instance at 9281cb0> URL: /site/advertisements/show_banner/manage_main Physical Path:/site/advertisements/show_banner Module DocumentTemplate.DT_String, line 474, in __call__ Module DocumentTemplate.DT_With, line 76, in render Module DocumentTemplate.DT_In, line 703, in renderwob Module DocumentTemplate.DT_Util, line 192, in eval __traceback_info__: date_end Module ZODB.Connection, line 599, in setstate Module ZODB.Connection, line 628, in _is_invalidated ReadConflictError: database read conflict error (oid 0x3244, class *ilYYN6piu7CmJucspzx0gA==.AdBanner)
-- end traceback --
Any idea what is happening here?? This is beyond my understanding of Zope/ZODB and as it only happens occasionally, it does not seem to be a straight bug. Any suggestions on what I could try would be very welcomed. (If you are using a Banner Ad Manager that is a proper product, not a ZClass, that runs on a plain Zope, let me know.)
Thanks in advance,
DR
_______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
participants (2)
-
David -
Jake