[jira] Updated: (QPID-2128) Transaction support for the WCF channel

2009-12-16 Thread Cliff Jansen (JIRA)

 [ 
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

2009-12-16 Thread Cliff Jansen (JIRA)

 [ 
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

2009-12-15 Thread Steve Huston (JIRA)

 [ 
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

2009-11-24 Thread Cliff Jansen (JIRA)

 [ 
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

2009-11-23 Thread Cliff Jansen (JIRA)

 [ 
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