{"record":{"id":"c42388a221781fb0","repo":"Netflix/zuul","slug":"maxconnectionsperhost-connectionsperhost","errorCode":null,"errorMessage":"maxConnectionsPerHost={}, connectionsPerHost={}","messagePattern":"maxConnectionsPerHost=(.+?), connectionsPerHost=(.+?)","errorType":"exception","errorClass":"OriginConnectException","httpStatus":503,"severity":"error","filePath":"zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/PerServerConnectionPool.java","lineNumber":285,"sourceCode":"                        LOG.warn(\n                                \"Error creating new connection! origin={}, host={}\",\n                                config.getOriginName(),\n                                server.getServerId());\n                    }\n                });\n            }\n        } catch (Throwable e) {\n            promise.setFailure(e);\n        }\n    }\n\n    protected boolean isWithinConnectionLimit(Promise<PooledConnection> promise) {\n        // Enforce MaxConnectionsPerHost config.\n        int maxConnectionsPerHost = config.maxConnectionsPerHost();\n        int openAndOpeningConnectionCount = server.getOpenConnectionsCount() + connCreationsInProgress.get();\n        if (maxConnectionsPerHost != -1 && openAndOpeningConnectionCount >= maxConnectionsPerHost) {\n            maxConnsPerHostExceededCounter.increment();\n            promise.setFailure(new OriginConnectException(\n                    \"maxConnectionsPerHost=\" + maxConnectionsPerHost + \", connectionsPerHost=\"\n                            + openAndOpeningConnectionCount,\n                    OutboundErrorType.ORIGIN_SERVER_MAX_CONNS));\n            LOG.warn(\n                    \"Unable to create new connection because at MaxConnectionsPerHost! maxConnectionsPerHost={},\"\n                            + \" connectionsPerHost={}, host={}origin={}\",\n                    maxConnectionsPerHost,\n                    openAndOpeningConnectionCount,\n                    server.getServerId(),\n                    config.getOriginName());\n            return false;\n        }\n        return true;\n    }\n\n    protected ChannelFuture connectToServer(EventLoop eventLoop, CurrentPassport passport, SocketAddress serverAddr) {\n        return connectionFactory.connect(eventLoop, serverAddr, passport, this);\n    }","sourceCodeStart":267,"sourceCodeEnd":303,"githubUrl":"https://github.com/Netflix/zuul/blob/14bf53c52dcf571894619ff65a674cbe2cce3ac6/zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/PerServerConnectionPool.java#L267-L303","documentation":"isWithinConnectionLimit is the guard enforcing the per-origin MaxConnectionsPerHost setting in PerServerConnectionPool. It fires when the number of open-plus-opening connections to a host has reached the configured cap, logging 'maxConnectionsPerHost={}, connectionsPerHost={}' and returning false so tryMakingNewConnection will not open another connection. It is a capacity back-pressure condition, not an exception.","triggerScenarios":"Thrown at zuul-core/src/main/java/com/netflix/zuul/netty/connectionpool/PerServerConnectionPool.java:285 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Increase maxConnectionsPerHost in the origin's connection pool config if the limit is set too low for real traffic","Check for origin slowness or connection leaks that keep connections open longer than necessary","Scale out origin instances so connections are spread across more hosts","Add client-side throttling/circuit breaking so requests queue instead of exhausting the pool"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"14bf53c52dcf571894619ff65a674cbe2cce3ac6","analyzedAt":"2026-09-07T10:00:54.873Z","contentChangedAt":"2026-09-07T10:00:54.873Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}