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

unroutable persistent messages should be immediately removed from or never flushed to the message store

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.6
    • Fix Version/s: 0.13
    • Component/s: Broker-J
    • Labels:
      None

      Description

      At present, persistent messages are put into the message store regardless whether they can/will be enqueued on a queue. When it is determined they cannot be routed, they are not removed from the store. As a result, it is left until startup recovery sequence until they are determined to be orphans and are ejected from the store. This process can dramatically slow startup time and should be undertaken as soon as it is known the message is to be discard (or even just stop them being commited/flushed to the store at all - they should be known to the store though to ensure a message id is assigned).

        Activity

        Hide
        gemmellr Robbie Gemmell added a comment -

        Changes seem reasonable to me.

        Show
        gemmellr Robbie Gemmell added a comment - Changes seem reasonable to me.
        Hide
        k-wall Keith Wall added a comment -

        Hi Robbie, Could you review this change? Thanks Keith.

        Show
        k-wall Keith Wall added a comment - Hi Robbie, Could you review this change? Thanks Keith.
        Hide
        k-wall Keith Wall added a comment -

        ServerSessionDelegate has been refactored so unroutable messages are no longer written to the store. In addition, an operational logging message has been introduced (EXH-1003) that is used when the an unroutable message is received by the Broker. Operational logging message is backported to the 0-8..0-9-1 code path too.

        Show
        k-wall Keith Wall added a comment - ServerSessionDelegate has been refactored so unroutable messages are no longer written to the store. In addition, an operational logging message has been introduced (EXH-1003) that is used when the an unroutable message is received by the Broker. Operational logging message is backported to the 0-8..0-9-1 code path too.
        Hide
        gemmellr Robbie Gemmell added a comment -

        Updating 'Fix For' to Unknown on issues not targeted for 0.8

        Show
        gemmellr Robbie Gemmell added a comment - Updating 'Fix For' to Unknown on issues not targeted for 0.8

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development