I ran the debug to verify the mount point and got this:
folder.__dict__['session_data'] <TransientObjectContainer at session_data>
And in the session_folder object in the root, the session_data objects shows as a TransientObjectContainer and not a ZODB Mount Point. Dieter Maurer wrote:
Allen Schmidt Sr. wrote at 2009-3-5 10:34 -0500:
Somehow, and not sure how, our session_data objects got deleted. No one admits doing it so no idea what happened. I recreated the objects with the same IDs and even setup the ZODB mount point to point to the right parts. But our SESSION calls won't write the the separate Session.fs storage and it writes every SESION usage to our main Data.fs as an anon transaction.
We are on 2.8.10 running ZEO on one server and 5 zope clients on two other servers. The Session.fs file sits along with the Data.fs file but never gets used.
Any idea how to reconnect the parts again?
The so called "session_data_manager" tells Zope where the "session_data" is located.
Apparently, your "session_data_manager" does not look at the place of your mount point or your mount point does not work/is not active.
First verify the "session_data_manager" configuration (this easy -- look in the ZMI). If this is correct, verify the mount point. That is not so easy. The best way is to start an interactive Python interpreter ("bin/zopectl debug" on *nix). Then use
folder = app.unrestrictedTraverse('path_to_folder_containing_the_mount') folder._p_activate() # load the folder folder.__dict__['Id_of_your_mount_point']
You should see an "ZODBMountPoint" (or something along this lines).
If you really see a mount point, verify its configuration (that's easy again -- thus, you can do that before the more difficult step): is the mount point really in the storage you want?