Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-4781

Clustering not-large AMQP message can leak Core large message file

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.33.0
    • 2.38.0
    • Clustering
    • None

    Description

      SETUP:

      Using a broker-cluster.

      We are producing big AMQP messages on the first node and consume them from the second node.

      The size of the messages is chosen so that these are around the min-large-message-size.

      OBSERVATION:

      For specific message sizes, the TMP files on the second node are not removed even when the message is consumed.

      My assumption is that this occurs for those messages that are not initially LARGE messsages, but which become LARGE messages due to the movement of the messages between the cluster nodes. During this process a few administrative (or informative?) message headers are added by the broker causing the message size to be increased so that it is now a large message.

      REPRODUCER

      The reproducer sets-up a cluster of 2 nodes and leaves the min-large-message-size at the default 102400 bytes.

      The reproducer sends text-messages with a text-payload between 90KiB and 110KiB, increasing each time with 50 bytes. this results in a range of just over 400 messages.

      In this scenario, 7 files are left in the large-msgs directory after test is completed and all software is ended. The files have file-sizes 102433 through 102733 bytes.

      There were no functional problems, all messages were properly produced and consumed.

      REPRODUCER INSTRUCTIONS
      place attached file in directory [activemq-artemis]/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp

      run with: cd tests/integration-tests && mvn -Dmaven.test.redirectTestOutputToFile=false -DskipIntegrationTests=false -Dtest="Test4781LargeMsgOnDisk" clean test

      the output of the reproducer is also attached.

      NOTE:

      the title+description of this issue has been updated significantly as initially a much more complicated scenario was described. further investigation has shown that it was actually a simpler scenario.

      Attachments

        1. Test4781LargeMsgOnDisk.java
          9 kB
          Erwin Dondorp
        2. reproducer-output.txt
          18 kB
          Erwin Dondorp

        Issue Links

          Activity

            People

              jbertram Justin Bertram
              erwindon Erwin Dondorp
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 20m
                  2h 20m