Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4D00111071 for ; Thu, 28 Aug 2014 14:31:14 +0000 (UTC) Received: (qmail 53786 invoked by uid 500); 28 Aug 2014 14:31:14 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 53751 invoked by uid 500); 28 Aug 2014 14:31:14 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 53742 invoked by uid 99); 28 Aug 2014 14:31:14 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Aug 2014 14:31:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Aug 2014 14:30:52 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id AB57B23889D5; Thu, 28 Aug 2014 14:30:50 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1621142 [1/4] - in /activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src: main/csharp/ main/csharp/Commands/ main/csharp/Util/ test/csharp/Transport/failover/ Date: Thu, 28 Aug 2014 14:30:50 -0000 To: commits@activemq.apache.org From: tabish@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20140828143050.AB57B23889D5@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tabish Date: Thu Aug 28 14:30:49 2014 New Revision: 1621142 URL: http://svn.apache.org/r1621142 Log: https://issues.apache.org/jira/browse/AMQNET-471 Resolve issues around transaction rollback during normal operation or during a failure detected with the FailoverTransport handling reconnection. Issues involving false positives of duplicate redelivery and messages not being properly re-added to the unconsumed channel after rollback were fixed. Also added logic to attempt to detect delivery of rolled back messages to another consumer on the same connection which requires the TX be rolled back as invalid. Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/MessageDispatch.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Connection.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/MessageConsumer.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Session.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/TransactionContext.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Util/FifoMessageDispatchChannel.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Util/MessageDispatchChannel.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Util/SimplePriorityMessageDispatchChannel.cs activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/test/csharp/Transport/failover/FailoverTransactionTest.cs Modified: activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/MessageDispatch.cs URL: http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/MessageDispatch.cs?rev=1621142&r1=1621141&r2=1621142&view=diff ============================================================================== --- activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/MessageDispatch.cs (original) +++ activemq/activemq-dotnet/Apache.NMS.ActiveMQ/trunk/src/main/csharp/Commands/MessageDispatch.cs Thu Aug 28 14:30:49 2014 @@ -35,6 +35,8 @@ namespace Apache.NMS.ActiveMQ.Commands public const byte ID_MESSAGEDISPATCH = 21; private Exception rollbackCause = null; + private long deliverySequenceId; + private object consumer; ConsumerId consumerId; ActiveMQDestination destination; @@ -75,6 +77,18 @@ namespace Apache.NMS.ActiveMQ.Commands set { this.rollbackCause = value; } } + public long DeliverySequenceId + { + get { return this.deliverySequenceId; } + set { this.deliverySequenceId = value; } + } + + public object Consumer + { + get { return this.consumer; } + set { this.consumer = value; } + } + public ConsumerId ConsumerId { get { return consumerId; }