[ZODB-Dev] OOBucket ReadConflictErrors

Christian Robottom Reis kiko at async.com.br
Thu Apr 8 20:40:45 EDT 2004


On Thu, Apr 08, 2004 at 09:35:21PM -0300, Christian Robottom Reis wrote:
> other, and commiting, I start them both calling g(c,r,n). Here's what I
> get in one of the clients, normally after a couple of "loop"s:

Oddly enough, if I add a time.sleep(0.2) after the print call, it runs
for quite a while, and then one of the two clients will bomb out with:

    Traceback (most recent call last):
      File "<console>", line 1, in ?
      File "./y.py", line 19, in go
      File "/mondo/local//lib/python2.3/site-packages/ZODB/Transaction.py",
    line 244, in commit
        vote(self)
      File "/mondo/local//lib/python2.3/site-packages/ZODB/Connection.py",
    line 706, in tpc_vote
        s = vote(transaction)
      File "/mondo/local/lib/python2.3/site-packages/ZEO/ClientStorage.py",
    line 841, in tpc_vote
        return self._check_serials()
      File "/mondo/local/lib/python2.3/site-packages/ZEO/ClientStorage.py",
    line 825, in _check_serials
        raise s
    ConflictError: database conflict error (oid 0000000000292b79, serial was
    03544c44b9c8b677, now 03544c44b9c0b299)

Where:

    >>> c[p64(0x0000000000292b79)]
    OOBucket([((1, 1), (1, 1))])

No idea how I could be *write* conflicting on the Bucket -- from what
Tim had suggested, the bucket would never conflict unless I modified the
same key, which I'm making sure I never do.

Still stumped,
--
Christian Robottom Reis | http://async.com.br/~kiko/ | [+55 16] 261 2331



More information about the ZODB-Dev mailing list