Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.30, 0.32, qpid-java-6.0, qpid-java-6.1, qpid-java-broker-7.0.0
-
None
Description
On the AMQP 0-10 protocol path within the Broker, deliveries to queue browsers erroneously increase the MessageInstance#deliveryCount. This should not happen. The purpose of the delivery count is to count deliveries to (destructive) consumers - not browsers. The problem is restricted to AMQP 0-10 implementation. Neither AMQP 0-x nor AMQP 1.0 are affected by this defect.
The defect could mean that messages are spuriously routed to a DLQ (if configured). For this to happen, there would need to be additional destructive consumers on the queue that cause the message to be 'released'. Releasing occurs during transaction rollback and client disconnection (when messages are prefetched). The message would be prematurely routed to the DLQ in this case.
The defect is longstanding. I tested as far back as 0.30.