java.net.SocketTimeoutException: Read timed while making a request to a remote server
Platform Notice: Server and Data Center Only - This article only applies to Atlassian products on the server and data center platforms.
Platform Notice: Data Center Only - This article only applies to Atlassian products on the data center platform.
Summary
When a Jira instance makes an HTTP request to a remote server, the request fails with a message similar to:
Exception in request: java.net.SocketTimeoutException: Read timed out in http POST to ...
Environment
The issue may occur in any setup where one Jira instance makes an HTTP request to a remote server.
For example, Jira A makes a request to Jira B via the Jira to Jira Issue Copy.
Diagnosis
The request in the remote server succeeds but takes more than 10 seconds, which is the default socket timeout for the client.
Cause
The reason why the request in the remote server takes more than 10 seconds should be investigated and potentially fixed.
If the request legitimately takes more than 10 seconds, the default socket timeout of 10 seconds isn't enough on the Apache client side.
Solution
Increase the Apache client socket timeout via the JVM parameter http.socket.timeout
.
In some cases, we have seen apps that use a different parameter http.socketTimeout
.
- The value needs to be set in milliseconds. For example:
-Dhttp.socket.timeout=20000
. - Jira should be restarted for the change to be effective.