[
https://issues.apache.org/jira/browse/ARTEMIS-3850?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Clebert Suconic closed ARTEMIS-3850.
------------------------------------
Resolution: Fixed
> Eliminate Soft Cache in paging, and add reading options
> -------------------------------------------------------
>
> Key: ARTEMIS-3850
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3850
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Affects Versions: 2.22.0
> Reporter: Clebert Suconic
> Assignee: Clebert Suconic
> Priority: Major
> Fix For: 2.24.0
>
> Time Spent: 11h
> Remaining Estimate: 0h
>
> 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)