Uploaded image for project: 'JBoss A-MQ'
  1. JBoss A-MQ
  2. ENTMQ-1940

scheduler store is growing with redelivery plugin configured and a consumer rollsback

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • JBoss A-MQ 6.3
    • JBoss A-MQ 6.2
    • None
    • None

    Description

      We have a broker configured with:

      <redeliveryPlugin fallbackToDeadLetter="true" sendToDlqIfMaxRetriesExceeded="true">
                      <redeliveryPolicyMap>
                          <redeliveryPolicyMap>
                              <redeliveryPolicyEntries>
                                  <!-- a destination specific policy -->
                                  <redeliveryPolicy queue="FOO.BAR" maximumRedeliveries="3"
      redeliveryDelay="9000" />
                              </redeliveryPolicyEntries>
                              <!-- the fallback policy for all other destinations -->
                              <defaultEntry>
                                  <redeliveryPolicy maximumRedeliveries="0" initialRedeliveryDelay="5000"
      redeliveryDelay="10000" />
                              </defaultEntry>
                          </redeliveryPolicyMap>
                      </redeliveryPolicyMap>
                  </redeliveryPlugin>
      
      

      And a consumer that simply rollsback the session upon receive a message:

                      String msgText;
                      if (msg instanceof TextMessage)
                      {
                              msgText = ((TextMessage)msg).getText();
                              System.out.println("\n\t "+ msgText +", hence rolling back");
                              // Here we are rolling back the session.
                              // The "Hello World" message which we received is not committed, hence it's undelivered and goes back to the TestQ
                              qsession.rollback();
                      }
      
      

      If you push a large number of messages of a large size, you will see the scheduler store grow:

      i.e,

      sjavurek  staff    32M Sep 16 16:16 ./ILP-B/scheduler/db-35.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-36.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-37.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-38.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-39.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:14 ./ILP-B/scheduler/db-4.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-40.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-41.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-42.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-43.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-44.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-45.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-46.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:17 ./ILP-B/scheduler/db-47.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:18 ./ILP-B/scheduler/db-48.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:18 ./ILP-B/scheduler/db-49.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:14 ./ILP-B/scheduler/db-5.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:15 ./ILP-B/scheduler/db-6.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:15 ./ILP-B/scheduler/db-7.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:15 ./ILP-B/scheduler/db-8.log
      -rw-r--r--  1 sjavurek  staff    32M Sep 16 16:15 ./ILP-B/scheduler/db-9.log
      -rw-r--r--  1 sjavurek  staff     8B Sep 16 16:05 ./ILP-B/scheduler/lock
      -rw-r--r--  1 sjavurek  staff   1.6M Sep 16 16:18 ./ILP-B/scheduler/scheduleDB.data
      -rw-r--r--  1 sjavurek  staff   922K Sep 16 16:18 ./ILP-B/scheduler/scheduleDB.redo
      

      Receiving the messages of the DLQ does not force the scheduler to cleanup.

      Attachments

        1. kahadb6221168.log
          17 kB
          Tomas Kratky
        2. scheduler621168.log
          20 kB
          Tomas Kratky

        Activity

          People

            Unassigned Unassigned
            rhn-support-sjavurek Susan Javurek
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: