[Zope-ZEO] ZEO-0.2
Greg Ward
gward@mems-exchange.org
Wed, 10 May 2000 17:09:49 -0400
[Jim]
> Actually, for now, I think it would be a reasonable compromise to
> have ZEO's __init__.py try to import ZServer. I'll make it so for
> the next release and I suggest you do this in your copy as well.
[me]
> That sounds like a good solution. I'll roll back my patch and do this
> instead.
Oops, I spoke to soon -- this fix just seems to break things in a
different way. Here's what I did:
* rolled back to the original ZEO 0.2 code you sent this morning;
as expected, client initialization fails because you're passing
three arguments to the asyncore constructor in the standard
library
* edit ZEO/__init__.py and added the line "import ZServer".
Now client initialization dies in a much more mysterious way;
here's the traceback:
Traceback (innermost last):
File "./populate_users.py", line 18, in ?
from mxtoy import virtual_fab, util
File "/home/gward/lib/python/mxtoy/__init__.py", line 59, in ?
virtual_fab.init ()
File "/home/gward/lib/python/mxtoy/virtual_fab.py", line 279, in init
_virtual_fab = apply (_VirtualFab, (database,), extra_info)
File "/home/gward/lib/python/mxtoy/virtual_fab.py", line 90, in __init__
self._init_zeo (extra_info)
File "/home/gward/lib/python/mxtoy/virtual_fab.py", line 174, in _init_zeo
self._init_zodb(extra_info)
File "/home/gward/lib/python/mxtoy/virtual_fab.py", line 150, in _init_zodb
self.db = DB (storage)
File "/export/www/zope/Zope-2.2cvs/lib/python/ZODB/DB.py", line 125, in __init__
File "/www/zope/Zope-2.2cvs/lib/python/ZEO/ClientStorage.py", line 224, in registerDB
self._startup()
File "/www/zope/Zope-2.2cvs/lib/python/ZEO/ClientStorage.py", line 145, in _startup
if not self._call.connect():
File "/www/zope/Zope-2.2cvs/lib/python/ZEO/zrpc.py", line 149, in connect
self.aq_parent.notifyConnected(s)
File "/www/zope/Zope-2.2cvs/lib/python/ZEO/ClientStorage.py", line 166, in notifyConnected
self._info.update(self._call('get_info'))
File "/www/zope/Zope-2.2cvs/lib/python/ZEO/zrpc.py", line 193, in __call__
if type(r) is TupleType: raise r[0], r[1]
AttributeError: find_global
I've looked back all along the call stack, and don't see any
references to a 'find_global' attribute anywhere.
So now I'm back to running my hacked version of ZEO 0.2, ie. with
"import asyncore" changed everywhere to "from ZServer.medusa import
asyncore". Works like a charm.
Greg