[ZODB-Dev] "zeoLoad() raised exception" for a TemporaryStorage in a ZEO/Zope cluster

Jeremy Hylton jeremy at zope.com
Tue Jul 15 15:44:26 EDT 2003


On Tue, 2003-07-15 at 06:27, Jan-Wijbrand Kolman wrote:
> In my current ZEO setup, the ZSS zeoLoad() raises an KeyError (see 
> traceback below) on first connect from ZCS to the ZSS. The weird thing 
> is, it only raises the error on this *first* connect. So when I follow 
> this scenario:
> 
> 1) start ZSS; no errors reported, both storages are ready to be served 
> (see also StorageConfig.py I use below).
> 
> 2) start first ZCS; no errors on the ZCS, but I get afformentioned 
> traceback on the ZSS (see traceback below, where the KeyError is 
> related to this TemporaryStorage), after which the messages seem to 
> indicate that the ZCS connected to both storages served just fine anyway.
> 
> 3) start second ZCS; no errors reported on the ZCS, no errors on the 
> ZSS, just the messages that also this client connected just fine.
> 
> 4) close down both ZCSs, but *not* the ZSS.
> 
> 5) start first ZCS again, and now *no* errors reported on the ZSS. Nor 
> when I start the second ZCS...
> 
> BTW, after step 3, the ZEO cluster works correctly AFAICT.

Does that means it doesn't work correctly before step 3?  In what way is
its operation incorrect?

> Questions:
> 
> Am I doing something wrong here? Is this a bug somewhere? Should I 
> care about this KeyError at all?

It doesn't seem like you're doing anything wrong, but it's hard to be
sure since you didn't describe what you expect to happen.  Note that any
time you open a new database, it tries to load the root object from the
storage.  If it doesn't exist, it will create the root.

So if your KeyError is for oid '\x00\x00\x00\x00\x00\x00\x00\x00', then
this KeyError isn't at all surprising.  What would be surprising is if
the first connection failed to operate correctly after a KeyError?  Is
that what happens?

Jeremy





More information about the ZODB-Dev mailing list