[
https://issues.apache.org/jira/browse/UIMA-5391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry Cwiklik closed UIMA-5391.
-------------------------------
Resolution: Fixed
Modified to throw an exception from sendAndReceive() when client is in shutdown
mode and a thread awaits a reply from a remote service.
> UIMA-AS: sendAndReceive() should throw Exception when client is in shutdown
> mode
> --------------------------------------------------------------------------------
>
> Key: UIMA-5391
> URL: https://issues.apache.org/jira/browse/UIMA-5391
> Project: UIMA
> Issue Type: Bug
> Components: Async Scaleout
> Reporter: Jerry Cwiklik
> Assignee: Jerry Cwiklik
> Fix For: 2.10.0AS
>
>
> When an application calls UIMA-AS client sendAndReceive() its thread will
> block until a reply comes back or stop() is called.
> While a thread blocks in sendAndReceive() a System.exit() may be called
> causing the UIMA-AS client ShutdownHook to call stop(). This method will
> cleanup resources including a semaphore where an application thread blocks in
> sendAndReceive. In this case, the sendAndReceive() simply returns realizing
> that the client is not in a running state. The application is not aware that
> the sendAndReceive() was essentially interrupted as a reply had not been
> received. The application may consider the CAS as processed as there was no
> exception,
> The sendAndReceive() should throw an exception if UIMA-AS client stop() was
> called while an application thread blocked awaiting reply from a service.
> Throw ResourceProcessException with cause = UimaAsClientStoppingException.
> This will let the application know about the cause of the interrupt.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)