Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.4.0AS
-
None
Description
Using UIMA-AS client sendAndReceive() API to send CASes to remote Cas Multiplier can cause the client to hang. With the synchronous API, the client is receiving child CASes from the CM and deserializes them using its internal Cas Pool. The child CASes are never delivered to an application since the callbacks are not supported for sync API. The code never releases the CASes causing a hang in the client due to exhausted Cas Pool.
Modify the client code to ignore child CASes produced from an input CAS sent via synchronous sendAndReceive(). While ignoring such CASes, the code should still send FreeCasRequest to the remote CM to prevent the CM from starving its Cas Pool. The new code should not attempt to deserialize child CASes and just throw away the message containing serialized CAS.