code: public void reloadConfigIfNecessary() {
      if (whitelistFile == null) {
        return;
      }
      long time = System.currentTimeMillis();
      if (time > lastReloadAttempt + CONFIG_RELOAD_INTERVAL) {
        lastReloadAttempt = time;
        try {
          File file = new File(whitelistFile);
          long lastModified = file.lastModified();
          if (lastModified > lastSuccessfulReload &&
              time > lastModified + configReloadWait) {
            reloadWhitelist();
            lastSuccessfulReload = time;
            lastReloadAttemptFailed = false;
          }
        } catch (Exception e) {
          // Throwing the error further out here won't help - the RPC thread
          // will catch it and report it in a loop. Instead, just log it and
          // hope somebody will notice from the log.
          // We log the error only on the first failure so we don't fill up the
          // server's log with these messages.
          if (!lastReloadAttemptFailed) {
            LOG.error("Failed to reload whitelist file - " +
                "will use existing allocations.", e);
          }
          lastReloadAttemptFailed = true;
        }
      }
    }
docs: Checks to see if the namenode config file is updated on
  disk, If so, then read all it contents. At present, only
  the whitelist config is updated, but we will enahnce this to
  update all possible namenode configs in future.