Hi all,
For an unknown reason, it seems that we have hit logical corruption in zope database. When we try to access one specific device in Zenoss web interface, no information about the device appears on the page and a yellow banner pop up with following error message "POSKeyError:0x049397".
After some researches, I found http://wiki.zenoss.org/Fixing_ZODB_Integrity_Issues page. I have already try the three solutions without success.
Last outout of zenoss-repairdevice.py script:
Checking censored.hostname.com
ERROR:ZODB.Connection:Couldn't load state for 0x04939f
Traceback (most recent call last):
File "/opt/zenoss/lib/python/ZODB/Connection.py", line 860, in setstate
self._setstate(obj)
File "/opt/zenoss/lib/python/ZODB/Connection.py", line 901, in _setstate
p, serial = self._storage.load(obj._p_oid, '')
File "/opt/zenoss/lib/python/relstorage/storage.py", line 476, in load
raise POSKeyError(oid)
POSKeyError: 0x04939f
Traceback (most recent call last):
File "./zenoss-repairdevice.py", line 93, in <module>
processOneDevice(dev)
File "/opt/zenoss/lib/python/ZODB/transact.py", line 44, in g
r = f(*args, **kwargs)
File "./zenoss-repairdevice.py", line 78, in processOneDevice
dev.checkRelations(repair=True)
File "/opt/zenoss/Products/ZenRelations/RelationshipManager.py", line 257, in checkRelations
rel.checkRelation(repair)
File "/opt/zenoss/Products/ZenRelations/ToManyRelationship.py", line 286, in checkRelation
if len(self._objects):
File "/opt/zenoss/lib/python2.7/UserList.py", line 30, in __len__
def __len__(self): return len(self.data)
File "/opt/zenoss/lib/python/ZODB/Connection.py", line 860, in setstate
self._setstate(obj)
File "/opt/zenoss/lib/python/ZODB/Connection.py", line 901, in _setstate
p, serial = self._storage.load(obj._p_oid, '')
File "/opt/zenoss/lib/python/relstorage/storage.py", line 476, in load
raise POSKeyError(oid)
ZODB.POSException.POSKeyError: 0x04939f
Any help appreciated :-)