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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.16
    • Fix Version/s: 0.17
    • Component/s: Java Broker
    • Labels:
      None
    • Environment:

      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

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Keith Wall
            Reporter:
            Praveen Murugesan
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development