Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When a timeout value is specified for process calls, a timer is set for each processCas request. If an aggregate controller (or client API) sends multiple process requests to the same service, the timeout must be increased to account for the potential processing delay of the earlier requests. Currently the timeout value is static, specified in the deployment descriptor; if a user changes the CAS pools size, they may have to change the timeout to compensate.
A better design would decouple these things by changing the implementation of timeout. For example, the timeout value could be dynamic, taking into account the number of outstanding requests sent by the same client. The new implementation should take into account the need to set appropriate time-to-live values for the request messages.