我的网站的 zope 日志报告了许多冲突错误。平均每天120个,其中2-3个未解决。我读过很多关于为什么会发生冲突错误的文章,但没有什么是清楚的。
大多数冲突错误发生在对 MySQL 数据库运行选择查询的页面上。
据称,随着 http 请求并发量的增加,冲突错误的数量也会增加,因为一个 ZODB 对象被创建,而另一个对象试图写入它。
(我无法理解为什么以及如何修改 ZODB 对象。任何人都可以解释一下吗?)
但即使只有一个用户使用它,也会出现冲突错误。这种情况通常发生在 Zope 过夜重启后首次访问网站时。
我注意到,在某些情况下,如果由于网站上的某些其他活动而同时修改了表,则尝试加载涉及对表运行选择查询的页面会引发冲突错误。
所有这些都与 ZODB 对象相关。它应该将表中的数据存储为对象或其他东西。原始数据被更改,因此产生冲突。我对么 ?
该网站使用 Zope 2.12.19 以及 Zope 的内置会话管理器和 Python 2.6.8
日志文件的示例如下:
2014-03-26T12:31:27 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/https/xyz.com:443/ESA/VirtualHostRoot/test: database conflict error (oid 0x04a6, class BTrees.OOBTree.OOBTree, serial this txn started with 0x03a5bd4f6e81a2bb 2014-03-26 12:31:25.899935, serial currently committed 0x03a5bd4f73e1e833 2014-03-26 1`2:31:27.159949) (115 conflicts (3 unresolved) since startup at Wed Mar 26 00:01:06 2014)
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)