Search in sources :

Example 1 with ServerListener

use of org.apache.hadoop.hbase.master.ServerListener in project hbase by apache.

the class TestRSKilledWhenInitializing method startMaster.

/**
   * Start Master. Get as far as the state where Master is waiting on
   * RegionServers to check in, then return.
   */
private MasterThread startMaster(MasterThread master) {
    master.start();
    // It takes a while until ServerManager creation to happen inside Master startup.
    while (master.getMaster().getServerManager() == null) {
        continue;
    }
    // Set a listener for the waiting-on-RegionServers state. We want to wait
    // until this condition before we leave this method and start regionservers.
    final AtomicBoolean waiting = new AtomicBoolean(false);
    if (master.getMaster().getServerManager() == null)
        throw new NullPointerException("SM");
    master.getMaster().getServerManager().registerListener(new ServerListener() {

        @Override
        public void waiting() {
            waiting.set(true);
        }
    });
    // Wait until the Master gets to place where it is waiting on RegionServers to check in.
    while (!waiting.get()) {
        continue;
    }
    // Set the global master-is-active; gets picked up by regionservers later.
    masterActive.set(true);
    return master;
}
Also used : AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) ServerListener(org.apache.hadoop.hbase.master.ServerListener)

Example 2 with ServerListener

use of org.apache.hadoop.hbase.master.ServerListener in project hbase by apache.

the class DrainingServerTracker method start.

/**
   * Starts the tracking of draining RegionServers.
   *
   * <p>All Draining RSs will be tracked after this method is called.
   *
   * @throws KeeperException
   */
public void start() throws KeeperException, IOException {
    watcher.registerListener(this);
    // Add a ServerListener to check if a server is draining when it's added.
    serverManager.registerListener(new ServerListener() {

        @Override
        public void serverAdded(ServerName sn) {
            if (drainingServers.contains(sn)) {
                serverManager.addServerToDrainList(sn);
            }
        }
    });
    List<String> servers = ZKUtil.listChildrenAndWatchThem(watcher, watcher.znodePaths.drainingZNode);
    add(servers);
}
Also used : ServerName(org.apache.hadoop.hbase.ServerName) ServerListener(org.apache.hadoop.hbase.master.ServerListener)

Aggregations

ServerListener (org.apache.hadoop.hbase.master.ServerListener)2 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)1 ServerName (org.apache.hadoop.hbase.ServerName)1