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

Eliminate Soft Cache in paging, and add reading options

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.22.0
    • 2.24.0
    • None
    • None

    Description

      Paging was written a few years ago, and it was using SoftCache from the JDK.

      SoftCache exists with the promise that it would eliminate entries when the memory is low.

      As a result, when actually SoftCache is removed, the JVM is already pegged and nothing really work when it gets to that point.

      So, historically we then added a max-size to the PageCache and treated it as a regular HashMap, and in case it ever released instance, we would read the page back.

      That introduced an issue that the messages would have to read back when the cursor moved. a partial reading was introduced but still generated a lot of pressure in IO depending on how things happened.

      So, to simplify things, we are now reading the current file and just distributing messages to queues. and messages will just be regular messages after read from paging. A lot of things simplified.

      Attachments

        Issue Links

          Activity

            Commit 342565d4c1475e974c5cf874ad419842f037e976 in activemq-artemis's branch refs/heads/main from Clebert Suconic
            [ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=342565d4c1 ]

            ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing.

            jira-bot ASF subversion and git services added a comment - Commit 342565d4c1475e974c5cf874ad419842f037e976 in activemq-artemis's branch refs/heads/main from Clebert Suconic [ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=342565d4c1 ] ARTEMIS-3850 Eliminate Page Soft Cache. Add Option to read messages based on sizing.

            clebertsuconic - As I said in the vote thread can you add some information as to why this change was made and the benefit? This seems to be a large change and there's no detail anywhere to describe why it was done which is not great.

            cshannon Christopher L. Shannon added a comment - clebertsuconic - As I said in the vote thread can you add some information as to why this change was made and the benefit? This seems to be a large change and there's no detail anywhere to describe why it was done which is not great.

            cshannonJust did, let me know if the description I updated is not understandable...

            clebertsuconic Clebert Suconic added a comment - cshannon Just did, let me know if the description I updated is not understandable...

            People

              clebertsuconic Clebert Suconic
              clebertsuconic Clebert Suconic
              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 - 11h
                  11h