Hi,

I'd like to open an online discussion at 10:30 AM (Beijing Time) for
this branch development.
Welcome to join if you are interested.
The meeting address and meeting minutes can be found here [1]

[1] https://cwiki.apache.org/confluence/display/IOTDB/Cluster+branch+discussion

Best,
-----------------------------------
Xiangdong Huang
School of Software, Tsinghua University

 黄向东
清华大学 软件学院

Xiangdong Huang <[email protected]> 于2021年8月27日周五 下午2:32写道:

>
> Hi,
>
> I have worked on "cluster-" branch for several days, but still not finished.
> As I have no much time to finish it, I'd like to ask cooperators
> working on it together.
> Please let me know if you want to join.
>
> "cluster-" branch is not for fixing any bug in the cluster module,
> but just for refactoring the codes to make the structure similar to
> the server module.
>
> Some ideas in the branch:
>
> 1. split Thrift RPC service and RPC implementation.
> In the server module, we have extracted a class called ThriftService,
> which is responsible for starting a RPC service. We just need to
> ingest a RPC implementation to it.
> However, in the cluster module, some RPC classes mixed them, which
> causes code duplication, code inconsistencies, and hard to understand.
>
> 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. So, many fields (like coordinator, etc.) are
> extracted to ClusterIoTDB (renamed from ClusterMain), and ClusterIoTDB
> is responsible for creating them. MetaGroupMember only can modify
> these fields, rather than creating them.
>
> That is, the lifecycle of these fields belongs to ClusterIoTDB, rather
> than MetaGroupMember.
>
> BTW, MetaGroupMember will be renamed to MetaGroupEngine.
>
> 3. Similar with the relationship between StorageEngine and
> StorageProcessor in the server module, DataGroupMember can be
> considered as StorageProcessor, and we need a DataGroupEngine to
> control them.
>
> 4. I am considering how to refactor the ClientPool. there are too many
> in the codes. But I have no clear idea now.
>
> The 2nd and 3rd refactors will lead to many unexpected issues as I am
> not also very familiar with the codes. So, I have to check all UT and
> ITs one by one.
>
> I think after the refactoring, developers who know the server module
> will be easy to understand the codes in the cluster module.
>
> And, once the ClusterIoTDB dominates the module, it will be clear to
> modify the startup process like using ID to replace Node.
>
> Best,
> -----------------------------------
> Xiangdong Huang
> School of Software, Tsinghua University
>
>  黄向东
> 清华大学 软件学院

Reply via email to