-
Bug
-
Resolution: Fixed
-
High
-
JCMA - 1.10.7
-
None
-
11
-
Severity 2 - Major
-
25
Issue Summary
Cloud migration via JCMA fails with the below SocketTimeoutException, although all the required endpoints are whitelisted and accessible from the Jira server/DC.
Steps to Reproduce
- Create a migration plan
- Pre-flight checks completed successfully and all required endpoints are accessible from Jira Server/DC.
- Migration fails with "java.net.SocketTimeoutException: Read timed out"
Expected Results
Migration should complete successfully as the required endpoints are accessible from the server.
Actual Results
The below exception is thrown in the Jira server/DC logs (atlassian-jira.log) :
ERROR ... com.atlassian.jira.migration.httpclient.exceptions.HttpCommunicationException: An error occurred when requesting against resource https://<failed_endpoint> ... ... Caused by: java.net.SocketTimeoutException: Read timed out
Workaround
JCMA 1.9.8 and later releases offer the ability to customize timeout values using JVM arguments, as illustrated below.
- jcma.request.timeout - timeout for obtaining a connection from the connection manager (Default=20)
- jcma.socket.timeout - maximum period between two consecutive data packets (Default=20 for JCMA < 1.10.2, and Default=40 for JCMA>=1.10.2)
- jcma.connect.timeout - timeout until the connection is established (Default=20)
For LINUX: Add these values into the file setenv.sh and restart Jira:
export JVM_SUPPORT_RECOMMENDED_ARGS="-Djcma.request.timeout=120 -Djcma.socket.timeout=120 -Djcma.connect.timeout=120"
For Windows: Add these values into the file setenv.bat and restart Jira:
set JVM_SUPPORT_RECOMMENDED_ARGS="-Djcma.request.timeout=120 -Djcma.socket.timeout=120 -Djcma.connect.timeout=120"
If the parameter "JVM_SUPPORT_RECOMMENDED_ARGS" exists on setenv.sh/setenv.bat, make sure to keep the existing parameters while adding the ones above.