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] Updated: (UIMA-1105) CPE is sutck trying to retrieve a free CAS from the pool
Date Wed, 09 Jul 2008 20:43:31 GMT

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

Jerry Cwiklik updated UIMA-1105:

    Attachment: ProcessingUnit-patch.txt

Fixes the hang in the CPE. The CPE, during its error handling, was trying to fetch a free
CAS instance from a cas pool to convert CasData representation to CasObject. This conversion
has already been done prior calling process() method and is unnecessary. A call to notifyListeners()
contains an incorrect arg value which forces the code to attempt to fetch a new CAS for conversion.
Moved the code that sets the right parameter for the notifyListeners() just before the process()
call. When an exception happens, the code doesnt attempt to fetch a new CAS from a cas pool.

> CPE is sutck trying to retrieve a free CAS from the pool
> --------------------------------------------------------
>                 Key: UIMA-1105
>                 URL: https://issues.apache.org/jira/browse/UIMA-1105
>             Project: UIMA
>          Issue Type: Bug
>          Components: Collection Processing
>    Affects Versions: 2.2.1
>         Environment: Windows XP 32 bits
>            Reporter: Olivier Terrier
>         Attachments: cpe.xml, ProcessingUnit-patch.txt, uima.zip
> Buggy scenario is a CPE with a first remote processor deployed as a Vinci service and
an integrated CAS consumer that throws a ResourceProcessException in its process method.
> It is quite easy to reproduce with a dummy consumer with this implementation
> public void processCas(CAS aCAS) throws ResourceProcessException {
> 	throw new ResourceProcessException(new FileNotFoundException("file not found"));
> }
> It looks like the CPE is stuck trying to retrieve a CAS from the CAS pool that is apparently
empty at some point.
> My feeling is that when you have an ResourceProcessException thrown in the last component
of the CPE, the code that is supposed to release the CAS from the CAS pool is not properly
> If I suspend the process in Eclipse I can see that the CasConsumer and the Collection
Reader pipelines Threads are waiting on the
>  CPECasPool.getCas(long) method
> I attach the uima.log set to the FINEST level

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

View raw message