[zope2-tracker] [Bug 403437] [NEW] cut&paste into a ZODB Mount Point does not work, if the mount point comes over zeo

Launchpad Bug Tracker 403437 at bugs.launchpad.net
Thu Jul 23 08:18:13 EDT 2009

You have been subscribed to a public bug:

I have a ZODB mount point witch comes over a ZEO Server. This Mount Point is mounted on 2 Zope2 instances.
That works fine, but if i cut an object from outside of the mount point and paste it into the mount point, then it sucks. 
On the Zope Client were i do this the object is moved into the mount point. But on the other Client the object is not clean created. There i have in the ZODB the following data:

>>> pp(app.testmp.__dict__)
{'__ac_local_roles__': {'admin': ['Owner']},
 '_objects': ({'meta_type': 'Folder', 'id': 'testfolder'},
              {'meta_type': 'Folder', 'id': 'test1'},
              {'meta_type': 'Folder', 'id': 'tt1'}),
 '_owner': (['acl_users'], 'admin'),
 '_v_mount_point_': (MountedObject(id='testmp'),),
 'id': 'testmp',
 'test1': <Folder at test1>,
 'testfolder': None,
 'tt1': None}

 * The folder 'testmp' is a standard ZODB mount point.
 * The folder 'test1' is zope2 folder witch was created inside the mount point.
 * The folders 'testfolder' and 'tt1' are both created in the zope root and cut & paste into the mount point folder 'testmp'.

After some trials i get the following error on this zope client:

2009-07-23 09:58:54 ERROR ZODB.Connection Couldn't load state for 0x06
Traceback (most recent call last):
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/Connection.py", line 761, in setstate
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/Connection.py", line 819, in _setstate
    self._reader.setGhostState(obj, p)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/serialize.py", line 604, in setGhostState
    state = self.getState(pickle)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/serialize.py", line 597, in getState
    return unpickler.load()
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/serialize.py", line 479, in _persistent_load
    return self.loaders[reference_type](self, *args)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/serialize.py", line 543, in load_multi_oid
    return reader.load_oid(oid)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/serialize.py", line 537, in load_oid
    return self._conn.get(oid)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/Connection.py", line 213, in get
    p, serial = self._storage.load(oid, self._version)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/FileStorage/FileStorage.py", line 548, in load
    pos = self._lookup_pos(oid)
  File "/opt/zope/venv1/m2/parts/zope2/lib/python/ZODB/FileStorage/FileStorage.py", line 514, in _lookup_pos
    raise POSKeyError(oid)
POSKeyError: 0x123f
<OFS.Folder.Folder object at 0xe8dfbec>

i use the following Zope version:

Zope Version: (Zope 2.10.8-final, python 2.4.6, linux2) 
Python Version 2.4.6 (#2, Dec 20 2008, 15:02:30) [GCC 4.3.2]
System Platform linux2

** Affects: zope2
     Importance: Undecided
         Status: New

cut&paste into a ZODB Mount Point does not work, if the mount point comes over zeo
You received this bug notification because you are a member of Zope 2 Developers, which is subscribed to Zope 2.

More information about the zope2-tracker mailing list