Qpid
  1. Qpid
  2. QPID-3743

[Java Broker] Remove catching of Exception during metadata retrieval in BDB store

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.15
    • Component/s: Java Broker
    • Labels:
      None

      Description

      Occurred while using BDB store with more messages than could be held in RAM (1 million 1Kb messages in a 2Gb heap on a 64-bit VM).

      ########################################################################
      #

      1. Unhandled Exception java.lang.NullPointerException in Thread pool-3-thread-16
        #
      2. Exiting
        #
        ########################################################################
        java.lang.NullPointerException
        at org.apache.qpid.server.message.MessageTransferMessage.getExpiration(MessageTransferMessage.java:89)
        at org.apache.qpid.server.queue.QueueEntryImpl.expired(QueueEntryImpl.java:151)
        at org.apache.qpid.server.queue.SimpleAMQQueue.getNextAvailableEntry(SimpleAMQQueue.java:1846)
        at org.apache.qpid.server.queue.SimpleAMQQueue.attemptDelivery(SimpleAMQQueue.java:1781)
        at org.apache.qpid.server.queue.SimpleAMQQueue.processQueue(SimpleAMQQueue.java:1964)
        at org.apache.qpid.server.queue.QueueRunner.run(QueueRunner.java:77)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

        Activity

        Hide
        Robbie Gemmell added a comment -

        Patch applied.

        Show
        Robbie Gemmell added a comment - Patch applied.
        Hide
        Robbie Gemmell added a comment -

        Updated title to reflect new scope. It has not been possible to reproduce the NPE seen above, and Rob is unsure it was on a clean trunk following some changes to persistence etc. What is clear though is that the NPE should only be possible if an exception was caught and null returned, where really the exception should have been thrown. This JIRA will now be used to make that change.

        Show
        Robbie Gemmell added a comment - Updated title to reflect new scope. It has not been possible to reproduce the NPE seen above, and Rob is unsure it was on a clean trunk following some changes to persistence etc. What is clear though is that the NPE should only be possible if an exception was caught and null returned, where really the exception should have been thrown. This JIRA will now be used to make that change.
        Hide
        Alex Rudyy added a comment -

        Attached a patch removing try-catch block on loading message meta data from dbd store

        Show
        Alex Rudyy added a comment - Attached a patch removing try-catch block on loading message meta data from dbd store

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Rob Godfrey
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development