Loading

Maximum connections reached error in Windows

Publiseringsdato: Mar 2, 2024
Løsning

SYMPTOM

The Mule logs (mule_ee.log) throws the below error:

DEBUG 2018-06-23 03:44:48,355 [monitoring-application-publisher-1] com.ning.http.client.AsyncCompletionHandlerBase: No buffer space available (maximum connections reached?): connect
java.net.ConnectException: No buffer space available (maximum connections reached?): connect
    at com.ning.http.client.providers.netty.request.NettyConnectListener.onFutureFailure(NettyConnectListener.java:133) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.providers.netty.request.NettyConnectListener.operationComplete(NettyConnectListener.java:145) [async-http-client-1.9.39.jar:?]
    at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:409) [netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145) [netty-3.10.5.Final.jar:?]
    at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithNewChannel(NettyRequestSender.java:284) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithCertainForceConnect(NettyRequestSender.java:142) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequest(NettyRequestSender.java:117) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.execute(NettyAsyncHttpProvider.java:87) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.AsyncHttpClient.executeRequest(AsyncHttpClient.java:506) [async-http-client-1.9.39.jar:?]
    at com.ning.http.client.AsyncHttpClient$BoundRequestBuilder.execute(AsyncHttpClient.java:229) [async-http-client-1.9.39.jar:?]
    at com.mulesoft.agent.util.client.DefaultAuthenticationProxyClient.post(DefaultAuthenticationProxyClient.java:86) [mule-agent-utils-1.9.3.jar:?]
    at com.mulesoft.agent.monitoring.publisher.ingest.client.AnypointMonitoringIngestAPIClient.postApplicationMetrics(AnypointMonitoringIngestAPIClient.java:115) [mule-agent-ingest-publisher-1.9.3.jar:?]
    at com.mulesoft.agent.monitoring.publisher.ingest.IngestApplicationMonitorPublisher$1.run(IngestApplicationMonitorPublisher.java:284) [mule-agent-ingest-publisher-1.9.3.jar:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_151]
    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_151]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_151]
Caused by: java.net.SocketException: No buffer space available (maximum connections reached?): connect
    at sun.nio.ch.Net.connect0(Native Method) ~[?:1.8.0_151]
    at sun.nio.ch.Net.connect(Unknown Source) ~[?:1.8.0_151]
    at sun.nio.ch.Net.connect(Unknown Source) ~[?:1.8.0_151]
    at sun.nio.ch.SocketChannelImpl.connect(Unknown Source) ~[?:1.8.0_151]
    at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.connect(NioClientSocketPipelineSink.java:108) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:70) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:779) ~[netty-3.10.5.Final.jar:?]
    at com.ning.http.client.providers.netty.channel.SslInitializer.connectRequested(SslInitializer.java:48) ~[async-http-client-1.9.39.jar:?]
    at org.jboss.netty.channel.SimpleChannelDownstreamHandler.handleDownstream(SimpleChannelDownstreamHandler.java:88) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:54) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.handler.codec.http.HttpClientCodec.handleDownstream(HttpClientCodec.java:97) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:784) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleDownstream(ChunkedWriteHandler.java:109) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:591) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:582) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.Channels.connect(Channels.java:634) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.channel.AbstractChannel.connect(AbstractChannel.java:216) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:229) ~[netty-3.10.5.Final.jar:?]
    at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:182) ~[netty-3.10.5.Final.jar:?]
    at com.ning.http.client.providers.netty.request.NettyRequestSender.connect(NettyRequestSender.java:377) ~[async-http-client-1.9.39.jar:?]
    at com.ning.http.client.providers.netty.request.NettyRequestSender.sendRequestWithNewChannel(NettyRequestSender.java:283) ~[async-http-client-1.9.39.jar:?]
    ... 13 more

CAUSE

This is due to the Windows having too many active client connections.
The default number of available TCP ports is 5000. Sometimes this number may be insufficient if the server has too many active client connections.
In that case, the TCP ports are all used up and no more can be allocated to a new client connection request resulting in the error message for Mule (or Java) applications

SOLUTION

Please login to the affected node and run the following command:
sudo netstat -an
Please review the open connections.
You can see more information regarding to netsat command here: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/netstat

Also:
You can edit the Windows registry following the steps mentioned in a Windows KB:
https://support.microsoft.com/en-us/help/196271/when-you-try-to-connect-from-tcp-ports-greater-than-5000-you-receive-t

Please review your applications and check the services that create connections.
 
Knowledge-artikkelnummer

001118278

 
Laster
Salesforce Help | Article