Hi all.
I'm facing some of these conflicts:
ZODB.POSException.ConflictError
database conflict error (oid 0x03dc5870, class BTrees._OOBTree.OOBucket, serial this txn started with 0x0382d2aa7ec19444 2009-12-18 10:18:29.708477, serial currently committed 0x0382d2aac531e099 2009-12-18 10:18:46.217539)
File "/var/local/zope/base2891/lib/python/Zope2/App/startup.py", line 167, in zpublisher_exception_hook
v.reraise()
File "/var/local/zope/base2891/lib/python/ZPublisher/Publish.py", line 120, in publish
transactions_manager.commit()
File "/var/local/zope/base2891/lib/python/Zope2/App/startup.py", line 233, in commit
transaction.commit()
File "/var/local/zope/base2891/lib/python/transaction/_manager.py", line 84, in commit
self.get().commit(sub)
File "/var/local/zope/base2891/lib/python/transaction/_transaction.py", line 381, in commit
self._saveCommitishError() # This raises!
File "/var/local/zope/base2891/lib/python/transaction/_transaction.py", line 379, in commit
self._commitResources()
File "/var/local/zope/base2891/lib/python/transaction/_transaction.py", line 427, in _commitResources
rm.tpc_vote(self)
File "/var/local/zope/base2891/lib/python/ZODB/Connection.py", line 637, in tpc_vote
s = vote(transaction)
File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 893, in tpc_vote
return self._check_serials()
File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 877, in _check_serials
raise s
Set up is a python 2.3 + Zope 2.8 with ZEO; I've tried to figure what the object is with a zopectl debug:
>>> app._p_jar[0x03dc5870]
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/var/local/zope/base2891/lib/python/ZODB/Connection.py", line 207, in get
p, serial = self._storage.load(oid, self._version)
File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 746, in load
return self.loadEx(oid, version)[:2]
File "/var/local/zope/base2891/lib/python/ZEO/ClientStorage.py", line 769, in loadEx
data, tid, ver = self._server.loadEx(oid, version)
File "/var/local/zope/base2891/lib/python/ZEO/ServerStub.py", line 192, in loadEx
return self.rpc.call("loadEx", oid, version)
File "/var/local/zope/base2891/lib/python/ZEO/zrpc/connection.py", line 536, in call
raise inst # error raised by server
TypeError: invalid oid 64772208
The question now is: how can I debug such a problem? Of course, I thought I could add some debug code in the _check_serials, but I'll do that just if there is no other way.
Regards
Marco
--
Marco Bizzarri
http://code.google.com/p/qt-asterisk/
http://notenotturne.blogspot.com/
http://iliveinpisa.blogspot.com/