[Spambayes] ZODB simultaneous read-write is okay, right?

skip at pobox.com skip at pobox.com
Mon May 8 07:21:00 CEST 2006


    Tony> <zeo>
    Tony> address localhost:8090
    Tony> monitor-address localhost:8091
    Tony> </zeo>

    Tony> <filestorage 1>
    Tony> path /Users/tameyer/hammie.fs
    Tony> </filestorage>

    Tony> <eventlog>
    Tony> <logfile>
    Tony> path /tmp/zeo.log
    Tony> format %(asctime)s %(message)s
    Tony> </logfile>
    Tony> </eventlog>

    Tony> If that is in a file named "zeo.config", ZEO is then started like:

    Tony>      runzeo.py -C zeo.config &

I tried this with the exception that my ports were 28090 and 28091 and I
changed filenames to suit my machine.  (I already use port 8090 for
something else.)  The runzeo process started fine and told me what it was
doing up until I killed it:

    2006-05-08T00:11:59 (11371) opening storage '1' using FileStorage
    2006-05-08T00:12:02 (11371) StorageServer created RW with storages: 1:RW:/Users/skip/hammie.db
    2006-05-08T00:12:02 (11371) listening on ('localhost', 28090)
    2006-05-08T00:12:02 listening on ('localhost', 28091)
    2006-05-08T00:14:52 (11371) terminated by SIGTERM
    2006-05-08T00:14:52 (11371) closing storage '1'

While it was running, I tried running sb_filter.py.  It just hung.  When I
got tired and killed it, it emitted this traceback:

    Traceback (most recent call last):
      File "/Users/skip/local/bin/sb_filter.py", line 268, in <module>
        main()
      File "/Users/skip/local/bin/sb_filter.py", line 245, in main
        h.newdb()
      File "/Users/skip/local/bin/sb_filter.py", line 179, in newdb
        self.open('n')
      File "/Users/skip/local/bin/sb_filter.py", line 168, in open
        self.h = hammie.open(self.dbname, self.usedb, self.mode)
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/hammie.py", line 275, in open
        return Hammie(storage.open_storage(filename, useDB, mode))
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/storage.py", line 949, in open_storage
        return klass(data_source_name)
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/storage.py", line 827, in __init__
        ZODBClassifier.__init__(self, db_name)
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/storage.py", line 695, in __init__
        self.load()
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/storage.py", line 730, in load
        self.create_storage()
      File "/Users/skip/local/lib/python2.5/site-packages/spambayes/storage.py", line 835, in create_storage
        self.storage = ClientStorage(addr)
      File "/Users/skip/local/lib/python2.5/site-packages/ZEO/ClientStorage.py", line 321, in __init__
        self._wait(wait_timeout)
      File "/Users/skip/local/lib/python2.5/site-packages/ZEO/ClientStorage.py", line 336, in _wait
        self._rpc_mgr.connect(sync=1)
      File "/Users/skip/local/lib/python2.5/site-packages/ZEO/zrpc/client.py", line 181, in connect
        self.cond.wait(30)
      File "/Users/skip/local/lib/python2.5/threading.py", line 237, in wait
        _sleep(delay)
    KeyboardInterrupt

Is there something magical about ports 8090 and 8091?

Skip


More information about the SpamBayes mailing list