[jira] Updated: (QPID-2128) Transaction support for the WCF channel
[ https://issues.apache.org/jira/browse/QPID-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cliff Jansen updated QPID-2128: --- Attachment: interop.tx.patch I'm very sorry Steve. Please revert src/Apache/Qpid/Interop/Interop.vcproj and apply this instead. > Transaction support for the WCF channel > --- > > Key: QPID-2128 > URL: https://issues.apache.org/jira/browse/QPID-2128 > Project: Qpid > Issue Type: New Feature > Components: WCF/C++ Client >Affects Versions: 0.6 > Environment: Windows >Reporter: Cliff Jansen >Assignee: Steve Huston >Priority: Critical > Fix For: 0.6 > > Attachments: cppbld.patch, interop.tx.patch, QPID-2128-2.patch, > qpid2128_1.patch, wcfbld.patch > > > Transaction support is currently lacking from the WCF channel. > As an initial implementation, full distributed transaction support from > within .NET is proposed using the dtx AMQP classes and creating a plugin to > the MSDTC infrastructure to drive recovery. > Added performance from promotable transaction enlistment is deferred to a > later date. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-2128) Transaction support for the WCF channel
[ https://issues.apache.org/jira/browse/QPID-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cliff Jansen updated QPID-2128: --- Attachment: QPID-2128-2.patch Incorporates Xin's suggestions. > Transaction support for the WCF channel > --- > > Key: QPID-2128 > URL: https://issues.apache.org/jira/browse/QPID-2128 > Project: Qpid > Issue Type: New Feature > Components: WCF/C++ Client >Affects Versions: 0.6 > Environment: Windows >Reporter: Cliff Jansen >Assignee: Steve Huston >Priority: Critical > Fix For: 0.6 > > Attachments: cppbld.patch, QPID-2128-2.patch, qpid2128_1.patch, > wcfbld.patch > > > Transaction support is currently lacking from the WCF channel. > As an initial implementation, full distributed transaction support from > within .NET is proposed using the dtx AMQP classes and creating a plugin to > the MSDTC infrastructure to drive recovery. > Added performance from promotable transaction enlistment is deferred to a > later date. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-2128) Transaction support for the WCF channel
[ https://issues.apache.org/jira/browse/QPID-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Steve Huston updated QPID-2128: --- Priority: Critical (was: Major) Fix Version/s: 0.6 This support is needed for 0.6. Patches for bugs identified in the code review are forthcoming. > Transaction support for the WCF channel > --- > > Key: QPID-2128 > URL: https://issues.apache.org/jira/browse/QPID-2128 > Project: Qpid > Issue Type: New Feature > Components: WCF/C++ Client >Affects Versions: 0.6 > Environment: Windows >Reporter: Cliff Jansen >Assignee: Steve Huston >Priority: Critical > Fix For: 0.6 > > Attachments: cppbld.patch, qpid2128_1.patch, wcfbld.patch > > > Transaction support is currently lacking from the WCF channel. > As an initial implementation, full distributed transaction support from > within .NET is proposed using the dtx AMQP classes and creating a plugin to > the MSDTC infrastructure to drive recovery. > Added performance from promotable transaction enlistment is deferred to a > later date. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-2128) Transaction support for the WCF channel
[ https://issues.apache.org/jira/browse/QPID-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cliff Jansen updated QPID-2128: --- Attachment: wcfbld.patch cppbld.patch Here are sample patches for building. The cmake side is what I use, but would need an install component too. The wcf vcproj file should work. I have a self imposed "TODO" to fix up this aspect of the build, and integrate with cmake if I can. > Transaction support for the WCF channel > --- > > Key: QPID-2128 > URL: https://issues.apache.org/jira/browse/QPID-2128 > Project: Qpid > Issue Type: New Feature > Components: WCF/C++ Client >Affects Versions: 0.6 > Environment: Windows >Reporter: Cliff Jansen > Attachments: cppbld.patch, qpid2128_1.patch, wcfbld.patch > > > Transaction support is currently lacking from the WCF channel. > As an initial implementation, full distributed transaction support from > within .NET is proposed using the dtx AMQP classes and creating a plugin to > the MSDTC infrastructure to drive recovery. > Added performance from promotable transaction enlistment is deferred to a > later date. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-2128) Transaction support for the WCF channel
[ https://issues.apache.org/jira/browse/QPID-2128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cliff Jansen updated QPID-2128: --- Attachment: qpid2128_1.patch This patch provides distributed transaction support for the C++ based WCF channel on Windows. It basically consists of two new classes in the Interop DLL XaTransaction tracks the sessions that have enlisted in a particular System.Transaction and provides the COM glue to manage the 2PC stages with the Microsoft Distributed Transaction Coordinator. DtxResourceManager is responsible for creating XaTransactions as needed, maintaining the control session with the broker, and initiating and terminating the handshake with MSDTC. and a DtcPlugin module whose purpose is to provide (solely) the recovery functionality of an XA resource manager. This latter DLL runs in the process space of the MSDTC service itself. The nature of this design is that resource manager components do not maintain state between crashes. The MSDTC maintains a log of broker connections and potential in-doubt transactions. It is responsible for initiating recovery as needed. The AMQP broker maintains its own persistent list of transactions that are currently in the prepared state. Those combined logs are sufficient to ensure recovery. 1PC optimization is supported. Promotable transactions cannot be supported with this existing design, but could be with the introduction of an additional log file on the client machine. The AmqpSession class has been enhanced to provide the needed dtx methods in managed space. The remaining changes mainly allow for synchronizing the multiple active sessions. Connections wait on close for outstanding transactions to complete. Dtx "join" operations have to wait "long enough" to be sure the broker sees the initial "start" (on another session or connection) first. A dtx "prepare" or 1PC must wait for all dtx "ends" to be processed by the broker (internally referred to as a "Phase 0 flush"). A set of NUnit tests for all this are coming real soon now. Cliff > Transaction support for the WCF channel > --- > > Key: QPID-2128 > URL: https://issues.apache.org/jira/browse/QPID-2128 > Project: Qpid > Issue Type: New Feature > Components: WCF/C++ Client >Affects Versions: 0.6 > Environment: Windows >Reporter: Cliff Jansen > Attachments: qpid2128_1.patch > > > Transaction support is currently lacking from the WCF channel. > As an initial implementation, full distributed transaction support from > within .NET is proposed using the dtx AMQP classes and creating a plugin to > the MSDTC infrastructure to drive recovery. > Added performance from promotable transaction enlistment is deferred to a > later date. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org