@InterfaceAudience.Private public class RegionServerTracker extends ZooKeeperListener
Handling of new RSs checking in is done via RPC. This class is only responsible for watching for expired nodes. It handles listening for changes in the RS node list and watching each node.
If an RS node gets deleted, this automatically handles calling of
ServerManager.expireServer(ServerName)
watcher
Constructor and Description |
---|
RegionServerTracker(ZooKeeperWatcher watcher,
Server server,
ServerManager serverManager) |
Modifier and Type | Method and Description |
---|---|
List<ServerName> |
getOnlineServers()
Gets the online servers.
|
HBaseProtos.RegionServerInfo |
getRegionServerInfo(ServerName sn) |
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 online RegionServers.
|
getWatcher, nodeCreated, nodeDataChanged
public RegionServerTracker(ZooKeeperWatcher watcher, Server server, ServerManager serverManager)
public void start() throws KeeperException, IOException
All 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 changedpublic HBaseProtos.RegionServerInfo getRegionServerInfo(ServerName sn)
public List<ServerName> getOnlineServers()