Persistent ZEO Cache considered harmful?

My blog was down during my vacation. The box it’s hosted on was
restarted and the Persistent ZEO Cache got corrupted somehow. Here’s a
nice traceback:

File "/home/sidnei/src/zope/28five/lib/python/Zope2/__init__.py",
line 47, in startup
  _startup()
File "/home/sidnei/src/zope/28five/lib/python/Zope2/App/startup.py",
line 56, in startup
  DB = configuration.dbtab.getDatabase('/', is_root=1)
File "/home/sidnei/src/zope/28five/lib/python/DBTab/DBTab.py", line
96, in getDatabase
  db = self._createDatabase(name, is_root)
File "/home/sidnei/src/zope/28five/lib/python/DBTab/DBTab.py", line
113, in _createDatabase
  db = factory.open()
File
"/home/sidnei/src/zope/28five/lib/python/Zope2/Startup/datatypes.py",
line 163, in open
  DB = self.createDB()
File
"/home/sidnei/src/zope/28five/lib/python/Zope2/Startup/datatypes.py",
line 160, in createDB
  return ZODBDatabase.open(self)
File "/home/sidnei/src/zope/28five/lib/python/ZODB/config.py", line
97, in open
  storage = section.storage.open()
File "/home/sidnei/src/zope/28five/lib/python/ZODB/config.py", line
153, in open
  read_only_fallback=self.config.read_only_fallback)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/ClientStorage.py",
line 314, in __init__
  self._cache.open()
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
112, in open    self.fc.scan(self.install)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
835, in scan    install(self.f, ent)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
121, in install
  o = Object.fromFile(f, ent.key, skip_data=True)
File "/home/sidnei/src/zope/28five/lib/python/ZEO/cache.py", line
630, in fromFile
  raise ValueError("corrupted record, oid")
ValueError: corrupted record, oid

Not the first time I see a site failing to start because of the
Persistent ZEO Cache. Will see if Tim Peters is interested in digging
this one.

One thought on “Persistent ZEO Cache considered harmful?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s