Keith Wall created QPID-4647:
--------------------------------

             Summary: Broker allows the creation of duplicate queue entries on 
a single queue which then fail on-dequeue.
                 Key: QPID-4647
                 URL: https://issues.apache.org/jira/browse/QPID-4647
             Project: Qpid
          Issue Type: Bug
    Affects Versions: 0.20, 0.18, 0.16, 0.14, 0.12, 0.10, 0.21
            Reporter: Keith Wall


Using the copyMessage function, it is possible to cause a single message to 
appear _twice_ on a single queue. When a consumer consumes the duplicate and 
tries to acknowledge the duplicate, the Broker produces the following error. It 
is also possible to create the same situation using certain dead-letter 
arrangements.

org.apache.qpid.AMQStoreException: Unable to find message with id 1 on queue 
dest with id 1ad9e427-b87e-3702-8ea3-0816a10d60ba [error code 541: internal 
error] at 
org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore.dequeueMessage(AbstractBDBMessageStore.java:948)
 at 
org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore$BDBTransaction.dequeueMessage(AbstractBDBMessageStore.java:1643)
 at 
org.apache.qpid.server.txn.LocalTransaction.dequeue(LocalTransaction.java:142) 
at org.apache.qpid.server.AMQChannel.acknowledgeMessage(AMQChannel.java:847) at 
org.apache.qpid.server.handler.BasicAckMethodHandler.methodReceived(BasicAckMethodHandler.java:65)
 at 
org.apache.qpid.server.handler.ServerMethodDispatcherImpl.dispatchBasicAck(ServerMethodDispatcherImpl.java:133)
 at 
org.apache.qpid.framing.amqp_0_9.BasicAckBodyImpl.execute(BasicAckBodyImpl.java:123)
 at 
org.apache.qpid.server.state.AMQStateManager.methodReceived(AMQStateManager.java:120)
 at 
org.apache.qpid.server.protocol.AMQProtocolEngine.methodFrameReceived(AMQProtocolEngine.java:454)
 at org.apache.qpid.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:97) 
at 
org.apache.qpid.server.protocol.AMQProtocolEngine.frameReceived(AMQProtocolEngine.java:338)
 at 
org.apache.qpid.server.protocol.AMQProtocolEngine.dataBlockReceived(AMQProtocolEngine.java:283)
 at 
org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:242)
 at 
org.apache.qpid.server.protocol.AMQProtocolEngine.received(AMQProtocolEngine.java:81)
 at 
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:118)
 at 
org.apache.qpid.server.protocol.MultiVersionProtocolEngine.received(MultiVersionProtocolEngine.java:37)
 at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:161) at 
java.lang.Thread.run(Thread.java:662) 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to