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 subversion and git services (Jira)" <ji...@apache.org> on 2022/10/18 14:47:00 UTC

[jira] [Commented] (ARTEMIS-4056) Optimize Paging Startup And Management operation

    [ https://issues.apache.org/jira/browse/ARTEMIS-4056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17619623#comment-17619623 ] 

ASF subversion and git services commented on ARTEMIS-4056:
----------------------------------------------------------

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

ARTEMIS-4056 Paging Management optimizations

- optimize startup time on paging (check-depage on startup)
- otpimize getNextPage() on complete pages
- optimize getFirstMessage() and paging. (avoid iterator usage)


> Optimize Paging Startup And Management operation
> ------------------------------------------------
>
>                 Key: ARTEMIS-4056
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4056
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Clebert Suconic
>            Priority: Major
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> When there are a lot of queues paging, there are a few issues:
> - A few management operations are calling iterator(); and flushExecutors(). What may put the server down.
> - Paging is eventually reading pages even when they are complete (to just discard their value, when there is a page-complete record).
> - Paging is calling checkDepage() during reload, what will eventually delay startup time.
> - The main one: getFirstMessage() on QueueControl is calling an iterator(); Such iterator might put a lot of pressure in paging. (Imaging if you had 100 queues in a paged address. all of them would be issuing the iterator().
> Tests are optimizations and the servers should just behave the same without them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)