Zope冲突错误

时间:2014-03-26 12:40:26

标签: zope zodb

我网站的zope日志报告了许多冲突错误。平均每天120个,其中2-3个未解决。我发现了许多关于为什么会发生冲突错误的文章,但没有任何明确的内容。

大多数冲突错误发生在对MySQL数据库运行select查询的页面上。 据说冲突错误的数量随着http请求的并发性的增加而增加,因为创建了一个ZODB对象而另一个尝试写入它。 (我无法理解为什么以及如何修改ZODB对象。任何人都可以解释一下吗?)

但即使只有一个用户使用它,也会出现冲突错误。这通常发生在Zope过夜重启后第一次访问网站时。

我注意到在某些情况下,尝试加载涉及对表运行select查询的页面会因为网站上的某些其他活动同时修改表而引发冲突错误

所有这些都与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)

0 个答案:

没有答案