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

Jie Yao commented on HDDS-6589:
-------------------------------

[~kerneltime], HDDS-3816 will be merged soon, we need to support handling EC 
container in replication manager. since the current code of replication manager 
is complex enouth , i think it is the time to refactor it. the Readability and 
maintainability of this part of code will be improved

> refactor replication manager
> ----------------------------
>
>                 Key: HDDS-6589
>                 URL: https://issues.apache.org/jira/browse/HDDS-6589
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Jie Yao
>            Assignee: Jie Yao
>            Priority: Major
>
> After HDDS-3816 is merged into master branch, we need to process EC container 
> in replication manager, which is different  to ratis container . . the 
> current code of replication manager is complex enough as it stands, i think 
> we need to refactor it and split it into several separate modules  as below:
> 1 the main class, that is a replication manager class, which will act as a 
> `SCMService` and run `processContainer` periodicly.
> 2 an `ContainerProcessor` interface , which has a function of 
> `processContainer` , and two implementation : `RatisContainerProcessor` and 
> `ECContainerProcessor`. because most of the logic in the two implementation 
> will be the same , we need to add a abstract class , let say 
> `AbstractContainerProcessor` , and in that two implementations we just 
> implement the abstract functions according to the specified container type.
> 3 add an interface `moveScheduler` and a  implementation `moveSchdulerImpl` , 
> which are used to support container move in replication manager. 
> 4 if there are some common util functions are called among different class in 
> replication manager, we can add a utils class.
>  
> i think after this refactor, the code of relication manager will be more 
> modular and easily extendable



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to