You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tubemq.apache.org by "Jeff Zhou (Jira)" <ji...@apache.org> on 2020/06/10 07:50:00 UTC

[jira] [Created] (TUBEMQ-233) Performance Improvement on FileSegmentList

Jeff Zhou created TUBEMQ-233:
--------------------------------

             Summary: 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


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)