in zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/PerServerConnectionPool.java [238:277]
protected void tryMakingNewConnection(
EventLoop eventLoop,
Promise<PooledConnection> promise,
CurrentPassport passport,
AtomicReference<? super InetAddress> selectedHostAddr) {
if (!isWithinConnectionLimit(promise)) {
return;
}
try {
createNewConnCounter.increment();
connCreationsInProgress.incrementAndGet();
passport.add(PassportState.ORIGIN_CH_CONNECTING);
selectedHostAddr.set(getSelectedHostString(serverAddr));
ChannelFuture cf = connectToServer(eventLoop, passport, serverAddr);
if (cf.isDone()) {
handleConnectCompletion(cf, promise, passport);
} else {
cf.addListener(future -> {
try {
handleConnectCompletion((ChannelFuture) future, promise, passport);
} catch (Throwable e) {
if (!promise.isDone()) {
promise.setFailure(e);
}
LOG.warn(
"Error creating new connection! origin={}, host={}",
config.getOriginName(),
server.getServerId());
}
});
}
} catch (Throwable e) {
promise.setFailure(e);
}
}