You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Frank Xu (JIRA)" <de...@uima.apache.org> on 2015/01/30 20:00:34 UTC

[jira] [Updated] (UIMA-4210) Client hangs with more than 1 time-out

     [ https://issues.apache.org/jira/browse/UIMA-4210?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Frank Xu updated UIMA-4210:
---------------------------
    Description: 
The client hangs if the execution has two time-outs. After debugging into the issue, we figure out that the resending mechanism has some bugs in it. Here are the detailed description.

Please review the necessity for the invocation of sendCas(). In our system, we don't have to resend the CAS to process again. Please provide a configuration so that we don't have to resend the CAS every time there is a time out.

Whenever there is the first time-out, BaseUIMAAsynchronousEngine_impl#notifyOnTimout() is invoked and it hangs when it tries to invoke sendCas() at line 2385. I believe the reason is that the sendCas() is a synchronized method and a potential threading issue causes this thread hang over there. Please be noted that this block is also synchronized.

Then when there is a second time-out, it will be hanging in the very beginning of the method notifyOnTimeout() and cannot clear the time-out CAS from the CAS list, which hangs the entire client.

  was:
The client hangs if the execution has two time-outs. After debugging into the issue, we figure out that the resending mechanism has some bugs in it. Here are the detailed description.

Please review the necessity for the invocation of sendCas(). In our system, we don't have to resend the cas to process again. Please provide a configuration so that we don't have to resend the case every time there is a time out.

Whenever there is the first time-out, BaseUIMAAsynchronousEngine_impl#notifyOnTimout() is invoked and it hangs when it tries to invoke sendCase() at line 2385. I believe the reason is that the sendCase() is a synchronized method and a potential threading issue causes this thread hang over there. Please be noted that this block is also synchronized.

Then when there is a second time-out, it will be hanging in the very beginning of the method notifyOnTimeout() and cannot clear the time-out case from the cas list, which hangs the entire client.


> Client hangs with more than 1 time-out
> --------------------------------------
>
>                 Key: UIMA-4210
>                 URL: https://issues.apache.org/jira/browse/UIMA-4210
>             Project: UIMA
>          Issue Type: Bug
>          Components: Eclipse plugins
>    Affects Versions: 2.4.2AS
>         Environment: Java 7, Mac OS
>            Reporter: Frank Xu
>              Labels: client, hangs
>   Original Estimate: 504h
>  Remaining Estimate: 504h
>
> The client hangs if the execution has two time-outs. After debugging into the issue, we figure out that the resending mechanism has some bugs in it. Here are the detailed description.
> Please review the necessity for the invocation of sendCas(). In our system, we don't have to resend the CAS to process again. Please provide a configuration so that we don't have to resend the CAS every time there is a time out.
> Whenever there is the first time-out, BaseUIMAAsynchronousEngine_impl#notifyOnTimout() is invoked and it hangs when it tries to invoke sendCas() at line 2385. I believe the reason is that the sendCas() is a synchronized method and a potential threading issue causes this thread hang over there. Please be noted that this block is also synchronized.
> Then when there is a second time-out, it will be hanging in the very beginning of the method notifyOnTimeout() and cannot clear the time-out CAS from the CAS list, which hangs the entire client.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)