You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Eddie Epstein (JIRA)" <ui...@incubator.apache.org> on 2009/07/23 21:35:14 UTC

[jira] Created: (UIMA-1454) Stale requests are processed and subsequently labeled as exceptions

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.


[jira] Commented: (UIMA-1454) Stale requests are processed and subsequently labeled as exceptions

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738992#action_12738992 ] 

Jerry Cwiklik commented on UIMA-1454:
-------------------------------------

Fixed the code to silence connection failure exceptions. Instead of a stack trace a message is logged indicating a connection problem. Also added a DoNotProcess list and a dedicated cleanup thread that removes entries from the list after 30 minutes. 

> 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.


[jira] Updated: (UIMA-1454) Stale requests are processed and subsequently labeled as exceptions

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1454:
--------------------------------

    Fix Version/s: 2.3AS

> 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
>             Fix For: 2.3AS
>
>
> 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.


[jira] Closed: (UIMA-1454) Stale requests are processed and subsequently labeled as exceptions

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1454?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik closed UIMA-1454.
-------------------------------

    Resolution: Fixed

> 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.


[jira] Commented: (UIMA-1454) Stale requests are processed and subsequently labeled as exceptions

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ 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.