qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-578) AMQChannel.queueDeletion causes unacked msgs to be discarded.
Date Wed, 05 Sep 2007 11:00:33 GMT
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.

View raw message