[ 
https://issues.apache.org/jira/browse/QPID-4647?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13601038#comment-13601038
 ] 

Keith Wall commented on QPID-4647:
----------------------------------

Issue only manifests itself when using persistent messages on durable queues, 
and using the BDB store.  The derby store fails early, and prevents the 
duplicate being enqueued in the first place. 
                
> 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.10, 0.12, 0.14, 0.16, 0.18, 0.20, 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