Francesco Nigro created ARTEMIS-2321:
----------------------------------------
Summary: Paging scalability and GC improvements
Key: ARTEMIS-2321
URL: https://issues.apache.org/jira/browse/ARTEMIS-2321
Project: ActiveMQ Artemis
Issue Type: Improvement
Components: Broker
Affects Versions: 2.8.0
Reporter: Francesco Nigro
PageCursorProviderImpl::getPageCache's on cache miss is blocking the whole
softCache until the requested page isn't fully read, making other threads
unable to make progress by querying the cache.
It would be better to make the page read operation a non-blocking operation for
the whole cache, allowing threads that need different pageId to make progress.
Other improvements:
* PageCursorProviderImpl can use specialized primitive hash maps to reduce
memory footprint (that would cause some page entries to be collected
prematurely)
* PageCache children can avoid to maintain a reference to a Page
* PagingStoreImpl perform many unnecessary volatile stores/loads and some
fields can be turned into plain ones, avoiding expensive atomic operations
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)