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