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 2013/03/13 12:08:13 UTC

[jira] [Commented] (QPID-4647) Broker allows the creation of duplicate queue entries on a single queue which then fail on-dequeue.

    [ 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: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org