You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2015/03/26 23:32:52 UTC

[jira] [Created] (QPID-6466) Client may send duplicate basic.rejects (or messageRelease) during consumer close

Keith Wall created QPID-6466:
--------------------------------

             Summary: Client may send duplicate basic.rejects (or messageRelease) during consumer close
                 Key: QPID-6466
                 URL: https://issues.apache.org/jira/browse/QPID-6466
             Project: Qpid
          Issue Type: Bug
          Components: Java Client
    Affects Versions: 0.22, 0.18, 0.32
            Reporter: Keith Wall
            Assignee: Keith Wall
            Priority: Minor
             Fix For: 6.0 [Java]


During a MessageConsumer#close() currently the Qpid Client uses both the the IO thread (BasicCancelOkMethodHandler#methodReceive() > AMQProtocolSession#confirmConsumerCancelled() -> ... -> AMQSession#rejectMessagesForConsumerTag()) and the Dispatcher (AMQSession.Dispatcher#notifyConsumer) to return any messages in the pre dispatch queue to the Broker.

There is a race where both may return the same message, causing a duplicate to be received by the Broker.

On the 0-8 path with the Java Broker, it is reported like this:

{noformat}
2015-03-26 21:54:58,011 WARN  [IO-/127.0.0.1:52562] (v0_8.AMQChannel) - Dropping reject request as message is null for tag:113
{noformat}

Whilst harmless, the log message causes confusion for the user.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org