private void logFailingRequest(JRTClientConfigRequest jrtReq, Connection connection) {
        if (closed) return;

        if (jrtReq.errorCode() == CONNECTION) {
            log.log(FINE, () -> "Request failed: " + jrtReq.errorMessage() +
                    "\nConnection spec: " + connection);
        } else if (jrtReq.errorCode() == ErrorCode.APPLICATION_NOT_LOADED) {
            log.log(INFO, () -> "Request failed: " + jrtReq.errorMessage() +
                    "\nConnection spec: " + connection);
        } else if (timeForLastLogWarning.isBefore(Instant.now().minus(delayBetweenWarnings))) {
            // Don't log a warning when failing and there are several config servers,
            // some of them might be down or upgrading, which is fine
            var level = connectionPool.getSize() > 1 ? FINE : WARNING;
            log.log(level, () ->
                    "Request failed: " + ErrorCode.getName(jrtReq.errorCode()) +
                    ". Connection spec: " + connection.getAddress() +
                    ", error message: " + jrtReq.errorMessage());
            timeForLastLogWarning = Instant.now();
        } else {
            log.log(FINE, () -> "Request failed: " + ErrorCode.getName(jrtReq.errorCode()) +
                    ". Connection spec: " + connection.getAddress() +
                    ", error message: " + jrtReq.errorMessage());
        }
    }
Requests the config for the {@link com.yahoo.config.ConfigInstance} on the given {@link ConfigSubscription}

@param sub a subscription
config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java