Return-Path: X-Original-To: apmail-activemq-dev-archive@www.apache.org Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 50B48855E for ; Tue, 16 Aug 2011 06:11:03 +0000 (UTC) Received: (qmail 22177 invoked by uid 500); 16 Aug 2011 06:11:03 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 21839 invoked by uid 500); 16 Aug 2011 06:10:59 -0000 Mailing-List: contact dev-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 dev@activemq.apache.org Received: (qmail 21369 invoked by uid 99); 16 Aug 2011 06:10:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2011 06:10:50 +0000 X-ASF-Spam-Status: No, hits=-2001.1 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Aug 2011 06:10:48 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id AFEDBBEC3E for ; Tue, 16 Aug 2011 06:10:27 +0000 (UTC) Date: Tue, 16 Aug 2011 06:10:27 +0000 (UTC) From: "Ashley Holman (JIRA)" To: dev@activemq.apache.org Message-ID: <103520172.40632.1313475027717.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (AMQ-2243) Stomp does not retransmit message if client ACKs inside disconnected transaction MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-2243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13085556#comment-13085556 ] Ashley Holman commented on AMQ-2243: ------------------------------------ Confirming this is no longer an issue 5.5. Thank you. > Stomp does not retransmit message if client ACKs inside disconnected transaction > -------------------------------------------------------------------------------- > > Key: AMQ-2243 > URL: https://issues.apache.org/jira/browse/AMQ-2243 > Project: ActiveMQ > Issue Type: Bug > Components: Transport > Affects Versions: 5.2.0 > Reporter: Ashley Holman > Fix For: 5.4.1 > > Attachments: AMQ-2243-telnetExample.txt, AshStompTest.java > > > Demonstration of problem: > MyQueue contains MSG1, MSG2. > Stomp: > - CONNECT > - SUBSCRIBE MyQueue (ack = client) > - BEGIN tx1 > - message-id: MSG1 > - ACK message-id: MSG1 > - *disconnect TCP session* > Upon reconnecting and subscribing, MSG2 is received. MSG1 still appears in the queue under the admin web interface but does not get retransmitted (is it still being locked by the now-dead transaction?) > If the above example finished with an ABORT tx1 before disconnecting, the problem does not occur. > Further to this, if I restart activemq, MSG1 will now get retransmitted correctly (ie. it is no longer locked by the transaction). > I suspect that the stomp implementation does not roll back all open transactions when the client unexpectedly disconnects. > I have attached a telnet session demonstrating the exact problem. > I've also attached a unit test for transport/stomp/ which contains two tests: > * testDisconnectRetransmit() - tests that an unacknowledged message is re-transmitted if the client disconnects before ACKing it - SUCCEEDS > * testTransactionDisconnectRetransmit() - same as above except the message gets ACK'd inside an incomplete transaction before disconnecting - FAILS -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira