private void checkClockSkew(final ServerName serverName, final long serverCurrentTime)
    throws ClockOutOfSyncException {
    long skew = Math.abs(EnvironmentEdgeManager.currentTime() - serverCurrentTime);
    if (skew > maxSkew) {
      String message = "Server " + serverName + " has been "
        + "rejected; Reported time is too far out of sync with master.  " + "Time difference of "
        + skew + "ms > max allowed of " + maxSkew + "ms";
      LOG.warn(message);
      throw new ClockOutOfSyncException(message);
    } else if (skew > warningSkew) {
      String message = "Reported time for server " + serverName + " is out of sync with master "
        + "by " + skew + "ms. (Warning threshold is " + warningSkew + "ms; " + "error threshold is "
        + maxSkew + "ms)";
      LOG.warn(message);
    }
  }
Checks if the clock skew between the server and the master. If the clock skew exceeds the
configured max, it will throw an exception; if it exceeds the configured warning threshold, it
will log a warning but start normally.
@param serverName Incoming servers's name
@throws ClockOutOfSyncException if the skew exceeds the configured max value
hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java