[ZODB-Dev] Problems in ZEO pack in 3.9.x?

Hanno Schlichting hanno at hannosch.eu
Mon Apr 26 08:48:32 EDT 2010


Hi.

I upgraded a ZODB 3.8 database server to 3.9 and suddenly zeopack
fails. It looks to me like it is now failing on PosKeyErrors, which
had been ignored so far.

Is this a known problem and should be fixed? Or should I repair all
the PosKeyErrors? Tracebacks below.

Hanno

Server traceback:

2010-04-26T03:49:02 (10.254.1.10:34542) received handshake 'Z309'
2010-04-26T03:49:02 (25844/10.254.1.10:34542)
pack(time=1272073742.4253581) started...
2010-04-26T04:18:24 (25844) Error raised in delayed method
Traceback (most recent call last):
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZEO/StorageServer.py",
line 1316, in run
    result = self._method(*self._args)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZEO/StorageServer.py",
line 379, in _pack_impl
    self.storage.pack(time, referencesf)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/blob.py",
line 807, in pack
    result = unproxied.pack(packtime, referencesf)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/FileStorage/FileStorage.py",
line 1126, in pack
    pack_result = self.packer(self, referencesf, stop, gc)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/FileStorage/FileStorage.py",
line 1079, in packer
    opos = p.pack()
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
line 398, in pack
    self.gc.findReachable()
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
line 191, in findReachable
    self.findReachableAtPacktime([z64])
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/FileStorage/fspack.py",
line 268, in findReachableAtPacktime
    pos = oid2curpos[oid]
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZODB/fsIndex.py",
line 69, in __getitem__
    return str2num(self._data[key[:6]][key[6:]])
KeyError: '\x1a\\'
2010-04-26T04:18:24 (25844/10.254.1.10:34542) disconnected

Client traceback:

Traceback (most recent call last):
  File "/home/norden/norden-database/bin/zeopack", line 36, in ?
    plone.recipe.zeoserver.pack.main(host, port, unix, days, username,
password, realm, blob_dir, storage)
  File "/home/norden/norden-database/eggs/plone.recipe.zeoserver-1.0-py2.4.egg/plone/recipe/zeoserver/pack.py",
line 51, in main
    _main(*args, **kw)
  File "/home/norden/norden-database/eggs/plone.recipe.zeoserver-1.0-py2.4.egg/plone/recipe/zeoserver/pack.py",
line 37, in _main
    cs.pack(wait=wait, days=int(days))
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZEO/ClientStorage.py",
line 893, in pack
    return self._server.pack(t, wait)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZEO/ServerStub.py",
line 155, in pack
    self.rpc.call('pack', t, wait)
  File "/home/norden/norden-database/eggs/ZODB3-3.9.4-py2.4-linux-i686.egg/ZEO/zrpc/connection.py",
line 703, in call
    raise inst # error raised by server
KeyError: '\x1a\\'


More information about the ZODB-Dev mailing list