[
https://issues.apache.org/jira/browse/QPID-578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Ritchie updated QPID-578:
--------------------------------
Fix Version/s: (was: M2.1)
M3
> 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
> Assignee: Martin Ritchie
> Fix For: M3
>
> Attachments: Qpid-578-AMQChannel-DontDiscardMsg.patch,
> Qpid-578-POTENTIAL-JustIgnoreProblemsOnReject.patch
>
>
> 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.