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


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

Reply via email to