Notifications

695 views

Issue

Symptoms

After an upgrade to a version that is listed in the "Fixed In" in this knowledge article:

RESTMessageV2/SOAPMessageV2 APIs allow running via MID Servers Synchronously, without a Sensor ECC business rule, causing blocked instance threads while sleeping, and Scheduler overload 

Synchronous outbound Web Service calls are timing out after 30 seconds.

An error like the following will be seen, in this case the synchronous web service call is made using the ECC queue and a mid server:

com.glide.ecc.ECCResponseTimeoutException: No response for ECC message request with sysid=5ba7846113d57700e1d6b7a66144b0f2 after waiting for 30 seconds in ECC Queue

 

Release

Applies to any release where PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) is listed as fixed in knowledge article:

RESTMessageV2/SOAPMessageV2 APIs allow running via MID Servers Synchronously, without a Sensor ECC business rule, causing blocked instance threads while sleeping, and Scheduler overload

 

Cause

The issue is caused by the fix provided by PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues).

Two new system properties are introduced in the code by this fix:

glide.http.outbound.max_timeout
glide.http.outbound.max_timeout.enabled

For detailed descriptions of these properties see:

Available system properties

With the fix for PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) in place synchronous outbound web service calls are time limited to 30 seconds.  If the 30 second limit is exceeded the call will be marked as as a timeout.

If those system properties do not exist on your instance already they can be created by following Add a system property

Resolution

(1) For a short term fix the system property here can be set to false (If this system property does not exist on your instance already it can be created by following Add a system property):

Name = glide.http.outbound.max_timeout.enabled

Type = true|false

Value = false

This will remove the 30 second time limit placed on the synchronous outbound calls.  This returns the functionality back to the way it was before the fix for PRB1305586 was applied.

(2) The long term and most correct fix is to be sure glide.http.outbound.max_timeout.enabled is set to true and then configure the outbound web service calls following the best practices in this knowledge article:

Best practices for RESTMessageV2 and SOAPMessageV2

Which will keep the fix for PRB1305586 (Instance threads can get blocked while sleeping, and schedulers can get overloaded due to RESTMessageV2/SOAPMessageV2 API issues) in place.

Article Information

Last Updated:2019-08-02 20:42:39
Published:2019-07-22