@InterfaceAudience.Private public class DrainingServerTracker extends ZooKeeperListener
This class is responsible for watching for changes to the draining servers list. It handles adds/deletes in the draining RS list and watches each node.
If an RS gets deleted from draining list, we call
ServerManager.removeServerFromDrainList(ServerName)
If an RS gets added to the draining list, we add a watcher to it and call
ServerManager.addServerToDrainList(ServerName)
watcher| Constructor and Description |
|---|
DrainingServerTracker(ZooKeeperWatcher watcher,
Abortable abortable,
ServerManager serverManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
nodeChildrenChanged(String path)
Called when an existing node has a child node added or removed.
|
void |
nodeDeleted(String path)
Called when a node has been deleted
|
void |
start()
Starts the tracking of draining RegionServers.
|
getWatcher, nodeCreated, nodeDataChangedpublic DrainingServerTracker(ZooKeeperWatcher watcher, Abortable abortable, ServerManager serverManager)
public void start()
throws KeeperException,
IOException
All Draining RSs will be tracked after this method is called.
KeeperExceptionIOExceptionpublic void nodeDeleted(String path)
ZooKeeperListenernodeDeleted in class ZooKeeperListenerpath - full path of the deleted nodepublic void nodeChildrenChanged(String path)
ZooKeeperListenernodeChildrenChanged in class ZooKeeperListenerpath - full path of the node whose children have changed