@Override
  public void run() {
    try {
      while (!master.isStopped() && master.isActiveMaster()) {
        Thread.sleep(timeout);
        if (master.isInitialized()) {
          LOG.debug("Initialization completed within allotted tolerance. Monitor exiting.");
        } else {
          LOG.error("Master failed to complete initialization after " + timeout + "ms. Please"
            + " consider submitting a bug report including a thread dump of this process.");
          if (haltOnTimeout) {
            LOG.error("Zombie Master exiting. Thread dump to stdout");
            Threads.printThreadInfo(System.out, "Zombie HMaster");
            System.exit(-1);
          }
        }
      }
    } catch (InterruptedException ie) {
      LOG.trace("InitMonitor thread interrupted. Existing.");
    }
  }
Creates a Thread that monitors the {@link #isInitialized()} state.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterInitializationMonitor.java