Hi,
Nice work! I appreciate all your contributions of this issue.
and I also want to invite @江天  to join the review.
Best,

jianyun cheng <chengjian...@outlook.com> 于2021年10月25日周一 上午10:32写道:
>
> Hi, all
>
>
>
> Thanks for the contribution from Dr. Huang, Xinyu Tan and Sijia Li, the work 
> of refactor cluster module is ready to review after months work. Especially 
> thanks to Dr. Huang, who have lead the refactor and made a lot of work before 
> the others join. Here is the summary of why we do that and what we have done.
>
>
>
> The Goal of Refactor
>
> The main goal of the refactor is make the code structure of cluster module 
> more clear. Before the refactor, the structure of cluster module is a bit 
> mess. It is not easy to understand even the one has been familiar with code 
> of server module.
>
>
>
> As the server module is clear enough, and most of developer look into server 
> when starts joining the project. So we decided to refer the structure of 
> server module to refactor the cluster module.
>
>
>
> What we have done
>
> 1. Split Thrift RPC service and RPC implementation to make the logic here 
> clear. For detail, refer the discuss: [Cluster-refactor] About refine classes 
> name · Issue #3881 · apache/iotdb (github.com)
>
> 2. Weaken the role of MetaGroupMember. metaGroupMember is just an engine for 
> serving meta raft group, which should not control the whole server too deep. 
> Many fields (like coordinator, etc.) are extracted to ClusterIoTDB (renamed 
> from ClusterMain), and ClusterIoTDB is responsible for creating them.
>
> 3. Similar with the relationship between StorageEngine and StorageProcessor 
> in the server module, DataGroupMember can be considered as StorageProcessor, 
> we created a DataGroupEngine to control them.
>
> 4. Refactored thrift client class hierarchy to reduce the duplication and 
> imported Apache commons-pool the help manager thrift client object.
>
> 5. Write related unit tests for new adding code. For existing code, fixed all 
> failed unit test cases
>
> 6. Performance verify. Performance verify is on going, the result will be 
> updated in the PR description.
>
>
>
>
>
> Although we have done the refactor very carefully, but as we don’t know 
> everything very well, the unintentional mistakes especially when do code 
> merge is hard to avoid. Your review and comments is very import for us.
>
> PR link: [IOTDB-1639] Refactoring the cluster class structure to make it 
> consistent with the server module by LebronAl · Pull Request #4079 · 
> apache/iotdb (github.com)
>
>
>
> ----------------------------------------------------------
>
> Jianyun Cheng
>
> Thanks!

Reply via email to