Troubleshooting: Timeouts between the Store server and the Transaction server

Socket timeout errors can occur when the Store server is communicating with the Transaction server.

Problem

Socket timeout errors can occur when the Store server is communicating with the Transaction server. When these errors occur, normal site operation is disrupted, and functionality that is expecting data from the Store server fails.

Two examples of these errors are as follows:
[11/23/19 2:43:24:156 AEDT] 00007da4 E UOW= source=com.ibm.commerce.foundation.common.util.logging.LoggingHelper class=/GenericJSPPageError.jsp method=- executionContext: org= prod= component=
com.netflix.hystrix.exception.HystrixRuntimeException: wcs_orderEmail timed-out and fallback disabled.
javax.servlet.jsp.JspException: com.netflix.hystrix.exception.HystrixRuntimeException: wcs_orderEmail timed-out and fallback disabled.

[11/26/19 1:58:17:275 AEDT] 00000248 E UOW= source=com.ibm.websphere.commerce.log.CommerceSrvr class=com.ibm.commerce.store.foundation.session.StoreHttpSessionContext method=resolveActivityToken(ActivityData) executionContext: org= prod= component=
The following error occurred during processing: "com.netflix.hystrix.exception.HystrixRuntimeException: wcs_usercontext timed-out and fallback disabled.". com.netflix.hystrix.exception.HystrixRuntimeException: wcs_usercontext timed-out and fallback disabled.

Solution

These errors are typically indicative of a load or networking issue.

However, this can also be mitigated against by increasing the timeout parameter in the Hystrix hystrix.properties file, located on the Store server Docker container (crs-app), in the /opt/WebSphere/Liberty/usr/servers/default/config/ directory.

Here you can increase the hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds parameter to 300000.

This increases the timeout to 300,000 milliseconds, or 5 minutes, to allow for slower calls to still succeed.

Important: Longer wait times for calls to complete will have an impact on the user experience of your site.