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