public void updateFailed(Throwable exception) {
        // We depend on pending calls to request another metadata update
        this.state = State.QUIESCENT;

        if (exception instanceof AuthenticationException) {
            log.warn("Metadata update failed due to authentication error", exception);
            this.fatalException = (ApiException) exception;
        } else if (exception instanceof MismatchedEndpointTypeException) {
            log.warn("Metadata update failed due to mismatched endpoint type error", exception);
            this.fatalException = (ApiException) exception;
        } else if (exception instanceof UnsupportedEndpointTypeException) {
            log.warn("Metadata update failed due to unsupported endpoint type error", exception);
            this.fatalException = (ApiException) exception;
        } else if (exception instanceof UnsupportedVersionException) {
            if (usingBootstrapControllers) {
                log.warn("The remote node is not a CONTROLLER that supports the KIP-919 " +
                    "DESCRIBE_CLUSTER api.", exception);
            } else {
                log.warn("The remote node is not a BROKER that supports the METADATA api.", exception);
            }
            this.fatalException = (ApiException) exception;
        } else {
            log.info("Metadata update failed", exception);
        }
    }
Transition into the UPDATE_PENDING state.  Updates lastMetadataFetchAttemptMs.
clients/src/main/java/org/apache/kafka/clients/admin/internals/AdminMetadataManager.java