[
https://issues.apache.org/activemq/browse/AMQ-2243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish closed AMQ-2243.
-----------------------------
Resolution: Cannot Reproduce
Tests pass when run against the 5.4.0 release. If you still see this issue
when using 5.4.0 please reopen and report on how you reproduced it.
> Stomp does not retransmit message if client ACKs inside disconnected
> transaction
> --------------------------------------------------------------------------------
>
> Key: AMQ-2243
> URL: https://issues.apache.org/activemq/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
> - <reads a message coming from MyQueue> 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.
-
You can reply to this email to add a comment to the issue online.