AMQChannel.queueDeletion causes unacked msgs to be discarded.
-------------------------------------------------------------
Key: QPID-578
URL: https://issues.apache.org/jira/browse/QPID-578
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: M2
Reporter: Martin Ritchie
Fix For: M2.1
Currently when a queue is deleted the Channel gets a call back and checks
through the unacknowledged map for any messages that were on that queue to
purge. This will cause an issue if the client then decides to ack one of the
messges. But more problematically, if the message is persistent when the
consumer is closed the unack messges will be rejected. This Reject handler will
attempt to requeue but will need to look up the meta data to find out info
about the message. That meta data will have been purged when the queueDelete
callback was done so the Rejecthandler will see a NullPointerException.
Solution is to leave messages in the unacked map allowing, late acking and
rejecting. Obviously when the reject occurs without a DeadLetterQueue the
messages can only be dropped.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.