@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, nodeDataChanged
public DrainingServerTracker(ZooKeeperWatcher watcher, Abortable abortable, ServerManager serverManager)
public void start() throws KeeperException, IOException
All Draining RSs will be tracked after this method is called.
KeeperException
IOException
public void nodeDeleted(String path)
ZooKeeperListener
nodeDeleted
in class ZooKeeperListener
path
- full path of the deleted nodepublic void nodeChildrenChanged(String path)
ZooKeeperListener
nodeChildrenChanged
in class ZooKeeperListener
path
- full path of the node whose children have changed