Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
0.18, 0.22, 0.32
-
None
Description
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:
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
Whilst harmless, the log message causes confusion for the user.