You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/04/26 08:45:00 UTC

[jira] [Work logged] (ARTEMIS-2321) Paging scalability and GC improvements

     [ https://issues.apache.org/jira/browse/ARTEMIS-2321?focusedWorklogId=233353&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-233353 ]

ASF GitHub Bot logged work on ARTEMIS-2321:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 26/Apr/19 08:44
            Start Date: 26/Apr/19 08:44
    Worklog Time Spent: 10m 
      Work Description: franz1981 commented on pull request #2645: ARTEMIS-2321 Paging scalability and GC improvement
URL: https://github.com/apache/activemq-artemis/pull/2645
 
 
   It contains several improvements:
   
   - Non-blocking Page::read on page cache
   - PageCursorProviderImpl can use primitive maps
   - PageCache doesn't need a Page reference
   - Removed unnecessary volatile/Atomic operations and fields
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 233353)
            Time Spent: 10m
    Remaining Estimate: 0h

> 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
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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)