ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> zodb
zodb
[ZODB-Dev] KeyError on mounted database
by Miguel Sanchez Beato other posts by this author
Jul 8 2008 7:46AM messages near this date
[ZODB-Dev] ZODB 3.8.1b5 released | [ZODB-Dev] Locking
Hello,

This is the first time I write in this list, looking for some advice to 
solve the problems we have encountered in our Zope enviroment.

We are running a non-zeo Zope 2.9.8 with 2 databases (the main ZODB and 
a mounted database, called 'twikidb', via ZODB Mounted point, within a 
Plone instance on an object called 'twiki_import').
At some point the Plone instance wasn't accessible anymore, neither the 
left bar menu on the ZMI, raising some *KeyErrors* as follows 
(instance.log):

/2008-07-08T14:12:30 ERROR ZODB.Connection Couldn't load state for 0x2762
Traceback (most recent call last):
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/Connection.py", 
line 732, in setstate
    self._setstate(obj)
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/Connection.py", 
line 786, in _setstate
    self._reader.setGhostState(obj, p)
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/serialize.py", 
line 604, in setGhostState
    state = self.getState(pickle)
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/serialize.py", 
line 597, in getState
    return unpickler.load()
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/serialize.py", 
line 479, in _persistent_load
    return self.loaders[reference_type](self, *args)
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/serialize.py", 
line 540, in load_multi_oid
    conn = self._conn.get_connection(database_name)
  File "/opt/zope/src/Zope-2.9.7-final/lib/python/ZODB/Connection.py", 
line 305, in get_connection
    new_con = self._db.databases[database_name].open(
KeyError: 'twikidb'
------
2008-07-08T14:12:30 ERROR Zope.SiteErrorLog 
http://i3.ripe.net:8085/Plone/manage_main
Traceback (innermost last):
  Module ZPublisher.Publish, line 115, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 41, in call_object
  Module Shared.DC.Scripts.Bindings, line 311, in __call__
  Module Shared.DC.Scripts.Bindings, line 348, in _bindAndExec
  Module App.special_dtml, line 176, in _exec
  Module DocumentTemplate.DT_Let, line 76, in render
  Module DocumentTemplate.DT_In, line 643, in renderwob
  Module DocumentTemplate.DT_In, line 771, in sort_sequence
  Module ZODB.Connection, line 732, in setstate
  Module ZODB.Connection, line 786, in _setstate
  Module ZODB.serialize, line 604, in setGhostState
  Module ZODB.serialize, line 597, in getState
  Module ZODB.serialize, line 479, in _persistent_load
  Module ZODB.serialize, line 540, in load_multi_oid
  Module ZODB.Connection, line 305, in get_connection
KeyError: 'twikidb'/


This is how the zope.conf look like:


/<zodb_db main> 
    # Main database
    cache-size 5000
# FileStorage database
    <filestorage> 
      path <instance> /var/filestorage/Data.fs
    </filestorage> 
    mount-point /
</zodb_db> 
 
<zodb_db twikidb> 
       # Contains the Twiki DB
       cache-size 2000
       <filestorage> 
               path <instance> /var/filestorage/twikidb/Data.fs
       </filestorage> 
       mount-point /Plone/twiki
</zodb_db> 
 
<zodb_db temporary> 
    # Temporary storage database (for sessions)
    <temporarystorage> 
      name temporary storage for sessioning
    </temporarystorage> 
    mount-point /temp_folder
    container-class Products.TemporaryFolder.TemporaryContainer
</zodb_db> /



Any idea on how to fix this? I would unmount the database 'twikidb' if 
needed, even delete the object related. The most important thing is 
getting back the Plone instance and the ZMI.

Thank you!

 - Miguel

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved