synchronized boolean removeKey(Integer keyId) {
    // ignore zk changes when running as master
    if (leaderElector.isMaster()) {
      LOG.debug("Running as master, ignoring removed keyid={}", keyId);
      return false;
    }

    if (LOG.isDebugEnabled()) {
      LOG.debug("Removing keyid={}", keyId);
    }

    allKeys.remove(keyId);
    return true;
  }
Create a new secret manager instance for generating keys.
@param conf              Configuration to use
@param zk                Connection to zookeeper for handling leader elections
@param keyUpdateInterval Time (in milliseconds) between rolling a new master key for token
                         signing
@param tokenMaxLifetime  Maximum age (in milliseconds) before a token expires and is no longer
                         valid
hbase-server/src/main/java/org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java