FUSE Message Broker
  1. FUSE Message Broker
  2. MB-985

TimeStampingBrokerPlugin causes messages to expire in DLQ queue

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Done
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      Here is steps to reproduce the issue:

      1. Set the plugin to use a low value timeout like this:

      <timeStampingBrokerPlugin ttlCeiling="60000" zeroExpirationOverride="60000" />
      

      and individual deadLetterStrategy as following

      <policyEntry queue=">" producerFlowControl="true" memoryLimit="5mb">
          <deadLetterStrategy>
              <individualDeadLetterStrategy queuePrefix="DLQ." useQueueForQueueMessages="true" />
          </deadLetterStrategy>
       </policyEntry>
      

      2. Produce 10 messages either via or shipped ProducerTool example or the web console to TEST.IN queue (use persistent delivery mode);
      3. Wait 1 minute for messages to expire and then propagate to DLQ.TEST.IN;
      4. Confirm 10 messages arrived into DLQ.TEST.IN queue;
      5. Open one message, and you'll see that the timeStampingBrokerPlugin has added a timestamp to the message. (Usually expired messages have expiration field cleared when going into the DLQ)
      6. Wait one minute, and messages are expired from the DLQ.TEST.IN. The messages are not consumable or browsable any more (does not exist) although the webconsole still shows 10 messages pending.

        Activity

        Hide
        Joe Luo
        added a comment - - edited

        The key problem of this issue is that the TimeStampingBrokerPlugin will try to reset timestamp and expiration properties on the messages when they are moved to DLQ queue, thus causing these messages to expire which is not suppose to happen.

        Show
        Joe Luo
        added a comment - - edited The key problem of this issue is that the TimeStampingBrokerPlugin will try to reset timestamp and expiration properties on the messages when they are moved to DLQ queue, thus causing these messages to expire which is not suppose to happen.
        Hide
        Gary Tully
        added a comment -

        fix on fuse trunk for 5.6 release

        Show
        Gary Tully
        added a comment - fix on fuse trunk for 5.6 release
        Hide
        Dave Stanley
        added a comment -

        Reopen as want to see if we can get backported to 5.5.1.x

        Show
        Dave Stanley
        added a comment - Reopen as want to see if we can get backported to 5.5.1.x
        Hide
        Gary Tully
        added a comment -

        fix on 5.5.x and 5.5.1 fuse branches.

        Show
        Gary Tully
        added a comment - fix on 5.5.x and 5.5.1 fuse branches.

          People

          • Assignee:
            Gary Tully
            Reporter:
            Joe Luo
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: