Issue:
Request to back end server times out after 3 minutes and results with below error when they we post anything to the back end server.
[12/10/2015][18:08:58][6814][57191280][3a3136e9-f10bf85a-3a33569a-13e9f4ce-960a8393-5b][requestConnection(): ][Get connection: HttpRoute[{}->http://10.******], timeout = 60000]
[Noodle::doGet][java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method)]
Environment:
SPS version running on 12.52
Cause:
The timeout parameter didn’t reflect even if the value in the server.conf is changed. So, the http_connection_timeout parameter was not in effect and the request which was sent to the back end server times out.
# Timeout (in milliseconds) to be used for creating connections and reading responses. The timeout will limit the time spent in the host name translation and establishing the connection with the server when creating sockets. A timeout of zero means wait indefinitely.
http_connection_timeout="3 minutes"
This parameter didn’t reflect even if we change the value in server.conf to “6 minutes” and the request to the backend server took more than 3 min (default value). Hence the request timed out.
Workaround:
After adding the below time-out parameters in the file SmSpsProxyEngine.properties(windows) and proxyserver.sh (linux), the issue got resolved
-Dhttp_connection_timeout=360000
-Dhttp_socket_timeout=360000
Sample SmSpsProxyEngine.properties file where we need to add the above parameter:
SPS_TOMCAT_OPTS="-Dcatalina.base=${TOMCAT_HOME} -Dcatalina.home=${TOMCAT_HOME} -Djava.io.tmpdir=${TOMCAT_HOME}/temp -DHTTPClient.log.mask=0 -DHTTPClient.Modules=HTTPClient.RetryModule|org.t igris.noodle.NoodleCookieModule|HTTPClient.DefaultModule -Dhttp_connection_timeout=360000 -Dhttp_socket_timeout=360000 -Dhttp_connection_stalecheck=true -Dlogger.properties=${TOMCAT_HOME}/properties/logger.properties -Djava.endorsed.dirs=${TOMCAT_HOME}/endorsed $STS_AGENT_LOG_CONFIG_FILE"
Additional Information:
This problem is fixed in the latest CR releases.