[ https://issues.apache.org/jira/browse/IOTDB-4630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yongzao Dan reassigned IOTDB-4630: ---------------------------------- Assignee: 陈哲涵 (was: Yongzao Dan) > 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: 陈哲涵 > 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 neets 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)