[Zope] Re: sessions/noundo dbs/mounting/exmount

Chris McDonough chrism@digicool.com
Wed, 31 Jan 2001 11:17:58 -0500


> thanks for the prompt replies.  to recap, i have
> -Berkeley DB
> -External Mount
> -something that i'm not too sure of :)
>
> as i see it, i can use External mount to mount berkeley Db.  that will
then
> give me a nonundo, nonversioning db.. right?

Well, I know you're using ZEO with a FileStorage as your "main" storage, so
you'll need to mount a ClientStorage which talks to a ZEO server backed by a
nonundo db.  The ZEO docs give some info about using a single ZEO server to
serve two databases (see the -S switch to the ZEO 'start' command).

So basically, you need do do something like:

               Client  Client  Client
                 |      |       |
                 |      |       |
                 |      |       |
               Zeo Storage Server
             /                   \
 nonundostorage (mounted)       filestorage (main)

Where all clients have a "main" database that is the ZSS' filestorage and
all clients additionally have a ClientStorage mounted (via exmount or
another way) that points to the ZSS' nonundo storage.

An alternate way is:

               Client  Client  Client
                 |      |       |
                 |      |       |
                 |      |       |
               Zeo Storage Server
                        |
                        |
                 nonundostorage (main)

In this case, all clients use a "main" database that is nonundoing, so you
can put the external data container right in there without worrying about
any mounting.

> if i use FileStorage with ExternalMount, it'll be just another ZODB.  i
hope
> i'm right.

Yes.

> if i want to use it across ZEO Clients, i *must* use ZEO.ClientStorage.
> correct me if i'm wrong, please.

Yes.

> to test a simple setup, i tried FileStorage with External Mount.  and i
> encountered a little problem.  here's what i have
> -ExternalMount
> -External Method[1]

> when i tried adding an ExternalMount, i got this[2] traceback.  help?

I think this exposes an error in Mount.py.  :-(  Is there anything in your
debug log?

>
> p/s - what about storing CoreSessionTracking data in RDB?

It's my hope that people will write session data managers that do just this.
The session tracking stuff is extensible.  As a matter of fact, I don't
think it would be too hard to adapt the existing FSSession and SQLSession
products to be session data managers.

> --
> [1]
> ---ExtDB.py
>
> import ZODB
> from ZODB.FileStorage import FileStorage
>
> def createDB():
>         return ZODB.DB(FileStorage('/home/kdie/Zope/var/ext.fs'))
> ----
> [2]
>  <P><STRONG>NameError</STRONG></P>
>
>   Sorry, a Zope error occurred.<p>
> <!--
> Traceback (innermost last):
>   File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 222, in
> publish_module
>   File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 187, in
publish
>   File /home/kdie/Zope/lib/python/Zope/__init__.py, line 221, in
> zpublisher_exception_hook
>   File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 171, in
publish
>   File /home/kdie/Zope/lib/python/ZPublisher/mapply.py, line 160, in
mapply
>     (Object: manage_addExternalMount)
>   File /home/kdie/Zope/lib/python/ZPublisher/Publish.py, line 112, in
> call_object
>     (Object: manage_addExternalMount)
>   File /home/kdie/Zope/lib/python/Products/ExternalMount/ExternalMount.py,
> line 112, in manage_addExternalMount
>     (Object: ApplicationDefaultPermissions)
>   File /home/kdie/Zope/lib/python/ZODB/Mount.py, line 279, in _test
>     (Object: A)
>   File /home/kdie/Zope/lib/python/ZODB/Mount.py, line 246, in
_getOrOpenObject
>     (Object: A)
> NameError: mcc
>
> ----
>
> http://www.kedai.com.my/kk
> http://www.kedai.com.my/eZine
>
> as you woke this morning, and open up your eyes, did you notice the tear
> stains lining your face were mine..
>
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>
>