[ https://issues.apache.org/jira/browse/UIMA-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738442#action_12738442 ]
Jerry Cwiklik commented on UIMA-1454: ------------------------------------- There are two possibilities for not being able to deliver a reply. One is when the client goes away but the broker is running.The current code seems to handle this already. The code logs 2 lines that look something like this: 8/3/09 1:12:16 PM - 11: org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.handleJmsException: INFO: >>>> Controller: NoOp Annotator - Failed to Send Message To Queue: : temp-queue://ID:host2-3436-1249319511048-3:0:1. The Queue Has Been Deleted. 8/3/09 1:12:16 PM - 11: org.apache.uima.adapter.jms.activemq.JmsOutputChannel.dispatch: INFO: Controller: NoOp Annotator Failed Sending Reply To Remote Destination Managed By Server: tcp://localhost:61616 Queue: ID:host2-3436-1249319511048-3:0:1 Second scenario is when the broker managing a reply queue is stopped. In this case, indeed the UIMA AS service throws Exceptions to stdout and the log. Need to modify the code to silence this a bit and replace it with a two log lines, one highlighting connection problem and the second, to show that a reply could not be delivered for a given CAS. Remaining is the optimization to prevent processing a request if the reply queue is known to be dead. A new list holding dead reply queues is needed and a cleanup thread that will manage entries in that list. > Stale requests are processed and subsequently labeled as exceptions > ------------------------------------------------------------------- > > Key: UIMA-1454 > URL: https://issues.apache.org/jira/browse/UIMA-1454 > Project: UIMA > Issue Type: Bug > Components: Async Scaleout > Reporter: Eddie Epstein > > When a client submits one or more requests to a service and then terminates > before the service has a chance to reply, the service will still process the > requests > and then fail trying to send the reply with a long stack trace. > There are two problems here: processing a request which cannot be replied to, > and throwing an exception for expected behavior. > The following is suggested: > 1. catch these exceptions and log a single line at INFO level that a reply > could > not be sent to {identified reply queue name} > 2. put this reply queue on a "do not process" list to be checked before > processing > new requests. > 3. clean up the "do not process" list based on time or max number of entries. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.