hi my setup zope2.3.1b1, cvs zeo, and external mount i followed this howto http://www.zope.org/Members/randy/ZEO-Sessions i got to serve zeo storagewith no problems. i can connect to main ok but i can't mount external mount. -according to the howto, i have to create the mount point via the script, which i did. i managed to mount with FileStorage, but not with ZEO.ClientStorage thefollowing error when i tried the script with ZEO.ClientStorage --------------------8<------------------------ Python 1.5.2 (#1, Sep 17 1999, 20:15:36) [GCC egcs-2.91.66 19990314/Linux (egcs- on linux-i386 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
import Zope from App.Extensions import getObject fn = getObject('ExtDB','createDB',0) fn() Traceback (innermost last): File "<stdin>", line 1, in ? File "/home/kdie/Zope/Extensions/ExtDB.py", line 12, in createDB return ZODB.DB(Storage) File "/home/kdie/Zope/lib/python/ZODB/DB.py", line 155, in __init__ storage.tpc_begin(t) File "/home/kdie/Zope/lib/python/ZEO/ClientStorage.py", line 459, in tpc_begin raise ClientDisconnected( ZEO.ClientStorage.ClientDisconnected: This action is temporarily unavailable.<p>> ----------------------end-----------------
and these in the ZEO_EVENTS.log -----------------8<-------------------------- 2001-02-26T07:20:27 INFO(0) zdaemon zdaemon: Mon Feb 26 15:20:27 2001: Houston, we have forked ------ 2001-02-26T07:20:28 INFO(0) ZEO Server Serving main: <ZODB.FileStorage.FileStorage instance at 8237650> ------ 2001-02-26T07:20:28 INFO(0) ZEO Server Serving poll: <ZODB.BerkeleyStorage.SleepyStorage instance at 8237c48> ------ 2001-02-26T07:20:53 INFO(0) ZEO Server Connect 136439344 '' ------ 2001-02-26T07:21:14 INFO(0) ZEO Server Connect 135566064 '' ------ 2001-02-26T07:21:14 INFO(0) ZEO Server Close 135566064 ------ 2001-02-26T07:21:14 ERROR(200) ZEO uncaptured python exception, closing channel <ZEOConnection connected at 81492f0> (exceptions.TypeError:len() of unsized object [/home/kdie/Zope-2.3.0-src/ZServer/medusa/asyncore.py|poll|83] [/home/kdie/Zope-2.3.0-src/ZServer/medusa/asyncore.py|handle_read_event|335] [lib/python/ZEO/smac.py|handle_read|148] [lib/python/ZEO/StorageServer.py|message_input|263] [lib/python/ZEO/StorageServer.py|get_info|315]) ------ 2001-02-26T07:21:14 INFO(0) ZEO Server Close 135566064 ------ 2001-02-26T07:21:14 INFO(0) ZEO Server Connect 135563736 '' ------ 2001-02-26T07:21:16 INFO(0) ZEO Server Close 135563736 ------ 2001-02-26T07:21:16 INFO(0) ZEO Server Close 136439344 ------------------------end-------------------- my ZSS ($zopedir/lib/python/ZEO/StorageConfig.py) -----------------8<------------------ import ZODB.FileStorage, ZODB.BerkeleyStorage main_storage= ZODB.FileStorage.FileStorage('/home/kdie/Zope/var/Data.fs') poll_storage = ZODB.BerkeleyStorage.SleepyStorage('/home/kdie/Zope/var/poll.fs') -------------end---------------------- my start_zeo ----------------8<------------------------------- #!/bin/sh reldir=`dirname $0` exec python $reldir/lib/python/ZEO/start.py -S main=StorageConfig:main_storage -S poll=StorageConfig:poll_storage -U '/home/kdie/Zope/var/zeo.soc'\ ZEO_SERVER_PID=$reldir/var/ZEO_SERVER.pid \ STUPID_LOG_FILE=$reldir/var/ZEO_EVENTS.log \ "$@" -------------------end-------------------------- my custom_zodb.py ----------8<--------------------------------- ZSS_NAME = 'ZEOStorage' Storage=ZEO.ClientStorage.ClientStorage(('/home/kdie/Zope/var/zeo.soc'), name=ZSS_NAME, storage='main') ------------end------------------------- my External method to mount Ext mount ($zopedir/Extensions/ExtDB.py) --------------8<------------------- import ZODB from ZEO.ClientStorage import ClientStorage ZSS_NAME = 'poll_storage' # Name of the storage being used # Now we tell Zope where its storage is: Storage=ClientStorage(('/home/kdie/Zope/var/zeo.soc'), name=ZSS_NAME, storage='poll_storage') def createDB(): return ZODB.DB(Storage) thanks ! -- http://www.kedai.com.my/kk http://www.kedai.com.my/eZine if you SMELLLLLLL ... what the Rock is cookin