[ZODB-Dev] Re: finding POSKeyErrors
Gerry Kirk
gerry at faithonline.com
Wed Nov 10 09:04:21 EST 2004
Tim Peters wrote:
> [Gerry Kirk]
>
> I think I've pointed you at this before:
>
> http://zope.org/Wikis/ZODB/FileStorageBackup
>
> As it says, packing is not an error recovery procedure. If you're having
> problems, packing is unlikely to help, and may hurt.
>
Yes, which is why I have refrained from packing. I don't want to make
the situation any worse than it is.
> It's the purpose of fsrefs to find references to missing objects. If fsrefs
> has no complaints, then you cannot get a POSKeyError from accessing the
> current revision of any non-versioned object in the database. If you're
> accessing versioned objects, then (a) that's unusual (few people use
> versions); and, (b) no tool exists to check versioned objects.
>
These objects are based on CMF and Archetypes, content objects.
fsrefs.py doesn't find problems, but I tried once updating all objects
of a certain type, and I got POSKeyErrors trying to access some of them.
That's why I'd like to go through the whole system, in case there are
others like that.
Then this morning I came into the office to find a lovely POSKeyError on
the home page of the site:
2004-11-10T08:37:43 ERROR(200) ZODB Couldn't load state for 00000000001cb29b
Traceback (most recent call last):
File "/usr/local/Zope/Zope2.7.2/lib/python/ZODB/Connection.py", line
559, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/Zope/Zope2.7.2/lib/python/ZEO/ClientStorage.py",
line 749, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/Zope/Zope2.7.2/lib/python/ZEO/ServerStub.py", line
82, in zeoLoad
return self.rpc.call('zeoLoad', oid)
File "/usr/local/Zope/Zope2.7.2/lib/python/ZEO/zrpc/connection.py",
line 372, in call
raise inst # error raised by server
POSKeyError: 00000000001cb29b
I fixed the problem by removing the two zeo client cache files.
- Gerry
More information about the ZODB-Dev
mailing list