[
https://issues.apache.org/jira/browse/UIMA-5119?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry Cwiklik closed UIMA-5119.
-------------------------------
Resolution: Fixed
Modified stopAndQuiesce() and terminate() to not throw exception when a scoket
is closed.
> UIMA-AS: CPP wrapper fails with Exception on service shutdown
> -------------------------------------------------------------
>
> Key: UIMA-5119
> URL: https://issues.apache.org/jira/browse/UIMA-5119
> Project: UIMA
> Issue Type: Bug
> Components: Async Scaleout
> Reporter: Jerry Cwiklik
> Assignee: Jerry Cwiklik
> Fix For: 2.9.0AS
>
>
> The UimacppServiceManagement code fails when remote C++ service terminates.
> The java code logs the following stack trace:
> > UimacppServiceManagement service reports shutdown DONE
> > UimacppShutdownHook sending quiesce message
> > java.net.SocketException: Socket is closed
> > at java.net.Socket.getInputStream(Socket.java:903)
> > at
> > org.apache.uima.aae.controller.UimacppServiceManagement.
> > quiesceAndStop(Uima
> > cppServiceManagement.java:88)
> > at
> > org.apache.uima.aae.controller.UimacppServiceManagement.
> > quiesceAndShutdown(
> > UimacppServiceManagement.java:397)
> > at
> > org.apache.uima.aae.controller.UimacppShutdownHook.run(
> > UimacppServiceController.java:1105)
> The UimacppServiceManagement is a communication wrapper which is used by
> UimacppServiceController to interact with a remote C++ process. It sends text
> commands to the remote using a Socket.
> In quiesceAndStop() the code sends "QUIESCEANDSTOP" command and a remote
> process exits immediately. After sending the command, the
> UimacppServiceManagement tries to read from a socket that was closed causing
> the exception.
> Modify code to catch SocketException and log a short message instead of
> dumping stack trace and returning an exception. Process terminating quickly
> should not be considered an error.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)