Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-4012

[Java Broker] PriorityQueue entries may attempt to access message metadata in the store after it is no longer available

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.16
    • 0.17
    • Broker-J
    • None
    • Running a test with multiple producers and consumers for a while using just priority queues exposes this issue.

    Description

      The Exception thrown is,

      The exception is,

      qpidbrkr`20120518072800.628`Uncaught exception in thread "IoReceiver - /10.224.75.24:34340"
      java.lang.RuntimeException: org.apache.qpid.AMQStoreException: Metadata not found for message with id 1330312 [error code 541: internal error]
      at org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage.getMetaData(BDBMessageStore.java:2327)
      at org.apache.qpid.server.message.MessageTransferMessage.getMetaData(MessageTransferMessage.java:43)
      at org.apache.qpid.server.message.MessageTransferMessage.getMessageHeader(MessageTransferMessage.java:58)
      at org.apache.qpid.server.queue.QueueEntryImpl.getMessageHeader(QueueEntryImpl.java:303)
      at org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.compareTo(PriorityQueueList.java:189)
      at org.apache.qpid.server.queue.PriorityQueueList$PriorityQueueEntryImpl.compareTo(PriorityQueueList.java:179)
      at org.apache.qpid.server.queue.SimpleAMQQueue.updateSubRequeueEntry(SimpleAMQQueue.java:853)
      at org.apache.qpid.server.queue.SimpleAMQQueue.requeue(SimpleAMQQueue.java:875)
      at org.apache.qpid.server.queue.QueueEntryImpl.release(QueueEntryImpl.java:245)
      at org.apache.qpid.server.subscription.Subscription_0_10.release(Subscription_0_10.java:715)
      at org.apache.qpid.server.subscription.ExplicitAcceptDispositionChangeListener.onRelease(ExplicitAcceptDispositionChangeListener.java:62)
      at org.apache.qpid.server.transport.ServerSession.onClose(ServerSession.java:373)
      at org.apache.qpid.server.transport.ServerSessionDelegate.closed(ServerSessionDelegate.java:1579)
      at org.apache.qpid.transport.Session.closed(Session.java:1097)
      at org.apache.qpid.transport.Connection.closed(Connection.java:541)
      at org.apache.qpid.server.transport.ServerConnection.closed(ServerConnection.java:420)
      at org.apache.qpid.transport.network.Assembler.closed(Assembler.java:112)
      at org.apache.qpid.transport.network.InputHandler.closed(InputHandler.java:204)
      at org.apache.qpid.server.protocol.ProtocolEngine_0_10.closed(ProtocolEngine_0_10.java:206)
      at org.apache.qpid.server.protocol.MultiVersionProtocolEngine.closed(MultiVersionProtocolEngine.java:102)
      at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:174)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: org.apache.qpid.AMQStoreException: Metadata not found for message with id 1330312 [error code 541: internal error]
      at org.apache.qpid.server.store.berkeleydb.BDBMessageStore.getMessageMetaData(BDBMessageStore.java:1842)
      at org.apache.qpid.server.store.berkeleydb.BDBMessageStore$StoredBDBMessage.getMetaData(BDBMessageStore.java:2323)
      ... 21 more

      Attachments

        Activity

          People

            kwall Keith Wall
            lefthandmagic Praveen Murugesan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: