Bug 901177 (JBPAPP6-857) - HornetQ does not delete message from queue when the message is rolled back and the DLQ is not present
Summary: HornetQ does not delete message from queue when the message is rolled back an...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: JBPAPP6-857
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: HornetQ
Version: 6.0.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: Justin Bertram
QA Contact:
URL: http://jira.jboss.org/jira/browse/JBP...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-11-08 10:18 UTC by Ravi Bhardwaj
Modified: 2016-07-13 22:47 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-12-13 21:20:07 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Bug_Testcase.zip (2.71 KB, application/zip)
2012-11-08 10:24 UTC, Ravi Bhardwaj
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker HORNETQ-1084 0 Major Resolved HornetQ does not remove message from queue when the message is rolled back and the DLA has no binding 2017-09-06 09:37:54 UTC
Red Hat Issue Tracker JBPAPP6-857 0 Major Closed HornetQ does not delete message from queue when the message is rolled back and the DLQ is not present 2014-08-20 16:40:11 UTC

Description Ravi Bhardwaj 2012-11-08 10:18:56 UTC
Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A000000BdP1V&sfdc.override=1
Steps to Reproduce:     * Create a queue and set any binding as DLQ address. Make sure that the DLQ binding does not exists.
    * Send a message to the queue.
    * From the standalone consumer, create a transacted QueueSession and rollback the transaction.
    * Expected behaviour is, when the delivery attempts are reached, the message should have been deleted from the queue and the "Message count" and "In Delivery" count should be 0.


Workaround: Workaround Exists
Workaround Description: Make sure the DLQ binding is present so that the message could be moved to the DLQ instead of deleting it.
project_key: JBPAPP6

When a message is rolled back and the DLQ binding configured for queue is missing, the server throws the following warning message saying that it is dropping the message, however we can still see the message count and In Delivery count as :

WARN [org.hornetq.core.server.impl.QueueImpl] (Thread-3 (HornetQ-server-HornetQServerImpl::serverUUID=c7787105-2983-11e2-94d2-611405d536ca-619601171)) Message Reference[143]:RELIABLE:ServerMessage[messageID=143,priority=4, bodySize=178,expiration=0, durable=true, address=jms.queue.TestQ2,properties=TypedProperties[null]]@1575145817 has exceeded max delivery attempts. No bindings for Dead Letter Address jms.queue.DLQ123 so dropping it

Comment 1 Ravi Bhardwaj 2012-11-08 10:20:05 UTC
Link: Added: This issue relates to AS7-5902


Comment 3 Ravi Bhardwaj 2012-11-08 10:24:02 UTC
Send message "rollback" from the QueueSend program. QueueReveive2 rollbacks the messages which has the text as "rollback".

Comment 4 Ravi Bhardwaj 2012-11-08 10:24:02 UTC
Attachment: Added: Bug_Testcase.zip


Comment 5 Justin Bertram 2012-12-13 21:20:07 UTC
Upstream issue has been resolved.

Comment 7 Miroslav Novak 2013-02-21 10:42:09 UTC
Setting status ON_QA since this should be in EAP 6.1.0.ER1.

Comment 9 Miroslav Novak 2013-03-14 10:02:34 UTC
Provided test is passing in EAP 6.1.0.ER1. Verified. Thanks for the test Justin.


Note You need to log in before you can comment on or make changes to this bug.