uima-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter Parente (JIRA)" <...@uima.apache.org>
Subject [jira] [Commented] (UIMA-2392) UIMA-AS CAS multiplier hangs fetching empty CAS after client timeouts
Date Wed, 02 May 2012 20:18:49 GMT

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

Peter Parente commented on UIMA-2392:
-------------------------------------

Follow-up reading of the logs. Output CASes wind up in 3 situations:

1. Service produces output CAS and sends it back to the client via the client's temporary
response queue. Client receives the CAS. Client sends a free CAS message to the service. The
service releases the CAS back into the pool.

2. Service produces an output CAS and fails to send it back to the client because the client's
temp response queue has closed (timeout, shutdown, etc). The service releases the CAS back
into the pool.

3. Service produces an output CAS and sends it back to the client via the client's temporary
response queue. Client is no longer listening to the queue (timeout, crash, etc.) and so never
receives it nor sends a free message. The service, which successfully put it on the response
queue, doesn't know that it should be released. The CAS is lost in the ether.

Hit #3 too many times and you hang when the CAS pool is exhausted.
                
> UIMA-AS CAS multiplier hangs fetching empty CAS after client timeouts
> ---------------------------------------------------------------------
>
>                 Key: UIMA-2392
>                 URL: https://issues.apache.org/jira/browse/UIMA-2392
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>    Affects Versions: 2.3.1AS
>         Environment: RedHat Enterprise Linux 6.0, Mac OSX Lion 10.7.3
>            Reporter: Peter Parente
>              Labels: ibm
>         Attachments: logs.zip, uima-hang.zip
>
>
> I'm attaching a test case that reproduces the hang. See the README inside the zip about
how to execute it.
> The annotator (ForwardJCas) consists of a simple CAS multiplier with delays in it scaled
out in its own thread within 2 levels of aggregates. It receives a CAS, sleeps for 3 seconds,
gets a new empty CAS, copies information into it, sleeps again, and then returns the CAS.
The unit test (UimaAsTest) initializes 40 UIMA-AS clients with a timeout of 8 seconds, send
1 CAS from each to the service, and then waits. After 1-2 runs, the CAS multiplier winds up
hanging on the getEmptyCas() call in the scaled out annotator. 
> What appears to be happening is that free CAS messages are not being sent from the client
to the service in all cases when the timeouts occur. A similar defect (https://issues.apache.org/jira/browse/UIMA-1786)
was fixed in 2.3.1 with slightly different symptoms.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message