uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jerry Cwiklik (JIRA)" <uima-...@incubator.apache.org>
Subject [jira] Commented: (UIMA-1133) Timeout needs different implementation to eliminate interaction with CAS pool size
Date Tue, 21 Oct 2008 19:58:44 GMT

    [ https://issues.apache.org/jira/browse/UIMA-1133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12641560#action_12641560
] 

Jerry Cwiklik commented on UIMA-1133:
-------------------------------------

If I understand you correctly this dynamic timeout logic would work as follows:

First, if the timeout occurs the first thing that needs to be done is to send a GetMeta request
to test if the service is alive. Only if the service responds we take additional actions as
described below.

Uima AS client would maintain a number of outstanding requests for each remote delegate. If
there are no outstanding requests, the next outgoing request will have a timeout equal to
what the DD specifies for a given delegate. Once the request is sent, the number of outstanding
requests will be incremented by one. For each subsequent request, the code will multiply the
timeout by the number of outstanding requests. As indicated a Time To Live will have to be
updated as well.

Each reply will decrement the number of outstanding requests.

Is this more or less the desired approach?

> Timeout needs different implementation to eliminate interaction with CAS pool size
> ----------------------------------------------------------------------------------
>
>                 Key: UIMA-1133
>                 URL: https://issues.apache.org/jira/browse/UIMA-1133
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>
> When a timeout value is specified for process calls, a timer is set for each processCas
request. If an aggregate controller (or client API) sends multiple process requests to the
same service, the timeout must be increased to account for the potential processing delay
of the earlier requests. Currently the timeout value is static, specified in the deployment
descriptor; if a user changes the CAS pools size, they may have to change the timeout to compensate.
> A better design would decouple these things by changing the implementation of timeout.
For example, the timeout value could be dynamic, taking into account the number of outstanding
requests sent by the same client. The new implementation should take into account the need
to set appropriate time-to-live values for the request messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message