[
https://issues.apache.org/jira/browse/TUBEMQ-233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated TUBEMQ-233:
----------------------------------
Labels: performance pull-request-available (was: performance)
> Performance Improvement on FileSegmentList
> ------------------------------------------
>
> Key: TUBEMQ-233
> URL: https://issues.apache.org/jira/browse/TUBEMQ-233
> Project: Apache TubeMQ
> Issue Type: Improvement
> Components: Broker
> Reporter: Jeff Zhou
> Assignee: Jeff Zhou
> Priority: Major
> Labels: performance, pull-request-available
>
> Current implementation of FileSegmentList is based on *native compact array*
> (Object[]), so:
> 1. it lacks flexibility on add/remove;
> 2. it would suffer a great performance impact while applying CAS performing
> an operation;
> 3. it may cause phantom read as multiple temporary copy of candidates may
> fail to announce its update due to unintended currentView change;
> 4. less space efficiency, as there might be multiple temporary copies in
> system in order to do an update.
> So this issue is raised to optimize the storage list, and it's to exploit
> *RoundQueue* structure to achieve a better performance while make use of
> *weak CAS* to better adapt multi-threaded runtime.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)