Issue
In my CloudBees CI logs I am seeing many instances of the following error:
h.TcpSlaveAgentListener$ConnectionHandler#run: Connection #198,580 failed: java.io.EOFException
Environment
-
CloudBees CI (CloudBees Core) on modern cloud platforms - Managed controller
-
CloudBees CI (CloudBees Core) on modern cloud platforms - Operations Center
-
CloudBees CI (CloudBees Core) on traditional platforms - Client controller
-
CloudBees CI (CloudBees Core) on traditional platforms - Operations Center
Resolution
This error is caused by a network call being made to the TcpSlaveAgentListener
port that is not a complete connection request from a registered agent or is not coming from an agent at all. The most common reason the error is seen so often is due to a network device making health check pings against the CI server.
First, contact your network team to check for any network devices, such as load balancers, that may be performing health checks against the CI server. If health checks are needed, then they should be HTTP calls to the https://JENKINS_URL/login
page rather than calls to the TCP port.
If it does not seem to be a network device, then the next step would be to use a network analyzer tool, such as Wireshark, to monitor the incoming connections to the server. If the errors are appearing at a consistent rate then it should be relatively easy to find the IP address that is making these calls. Once the culprit has been found, stop it from making these calls and the errors should no longer appear in the logs.