[ZCM] [ZC] 1875/ 1 Request "ZODB: Mounting broken for non default
transaction manager."
Collector: Zope Bugs, Features,
and Patches ...
zope-coders-admin at zope.org
Wed Aug 24 12:46:13 EDT 2005
Issue #1875 Update (Request) "ZODB: Mounting broken for non default transaction manager."
Status Pending, Database/bug medium
To followup, visit:
http://www.zope.org/Collectors/Zope/1875
==============================================================
= Request - Entry #1 by d.maurer on Aug 24, 2005 12:46 pm
If a ZODB storage is mounted, then the mounted connection
must participate in the same transaction as the root connection.
However, neither "ZODB.Mount" nor "Products.ZODBMountPoint.Mount"
has code to pass down the transaction manager to a dependent
connection, when the connection is initially opened.
If we consider as standard use, that we have a single transaction
between "DB.open" and "Connection.close", then the problem outlined
above will affect only the first transaction that mounts a new
storage. The situation is fixed by the following "Connection._setDB"
(which passes down the transaction manager of the root connection,
at least when the mount happens via "Products.ZODBMountPoint.Mount").
"Connection._setDB" is called by the following "DB.open".
If a root connection already has mounted connections when
its "setLocalTransaction()" is called, then the new transaction
manager is not propagated towards the mounted connections (probably,
"setLocalTransaction()" makes no sense in this case).
==============================================================
More information about the Zope-Collector-Monitor
mailing list