[ 
https://issues.apache.org/jira/browse/IOTDB-4630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yongzao Dan reassigned IOTDB-4630:
----------------------------------

    Assignee: Yongzao Dan  (was: 陈哲涵)

> Implement observer pattern in LoadBalancing framework
> -----------------------------------------------------
>
>                 Key: IOTDB-4630
>                 URL: https://issues.apache.org/jira/browse/IOTDB-4630
>             Project: Apache IoTDB
>          Issue Type: Improvement
>            Reporter: Gaofei Cao
>            Assignee: Yongzao Dan
>            Priority: Major
>
> Many of the services running on ConfigNode-leader have a requirement to make 
> decisions when the status of a DataNode changed. Currently, we've implemented 
> a `Unknown-DataNode-Detector` service at NodeManager to periodically check 
> the DataNodes' status and notify other services when some DataNodes' status 
> changed. However, the `Unknown-DataNode-Detector` only check `Running` and 
> `Unknown` status and the notification is serial, which is a inferior 
> implementation for cluster version.
>  
> Obviously, observer pattern is more suitable for soving this problem. And 
> there are some requirements that the observer pattern needs to satisfy:
>  
>  # The observed(nodeCache in NodeManager) should publish some information as 
> soon as some Nodes' status have changed.
>  # There observed may produce multiple information at the same time. i.e. 
> there are multiple Nodes changed their status within a heartbeat loop.
>  # The observers should receive the information and perform its own mission 
> asynchronously between each other.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to