Sounds like a bug in MultiprocessingAnalysisEngine_impl. Any chance you
could simplify your scenario and attach it to a Jira issue against UIMA?

On Wed, Nov 9, 2016 at 1:24 PM, nelson rivera <nelsonriver...@gmail.com>
wrote:

> Not, for only one instance, the behavior is correct, and generate all
> child cas required.
>
> 2016-11-09 9:40 GMT-05:00, Eddie Epstein <eaepst...@gmail.com>:
> > Is behavior the same for single-threaded AnalysisEngine instantiation?
> >
> > On Tue, Nov 8, 2016 at 10:00 AM, nelson rivera <nelsonriver...@gmail.com
> >
> > wrote:
> >
> >> I have a aggregate analysis engine that contains a casmultiplier
> >> annotator. I instantiate this aggregate with the interface
> >> UIMAFramework.produceAnalysisEngine(specifier, 1, 0) for multithreaded
> >> processing. The casmultiplier generate more than one cas for each
> >> input CAS. The issue is that after first cas child, that i get with
> >>
> >>  JCasIterator casIterator =
> >> analysisEngine.processAndOutputNewCASes(jcas);
> >> while (casIterator.hasNext()) {
> >>            JCas outCas = casIterator.next();
> >>            ...
> >>         outCas.release();
> >> }
> >>
> >> after this first cas child, the MultiprocessingAnalysisEngine_impl
> >> assumes that the instance of
> >> AggregateAnalysisEngine that processes the request has ended, Y
> >> entonces esta instancia es libre para procesar otra solicitud de otro
> >> hilo, and it is not true, because missing child cas, producing
> >> concurrency errors.
> >>
> >> What is the condition of a instance of MultiprocessingAnalysisEngine
> >> that contains cas multiplier that generate many cas child for each
> >> input Cas, for determine that it finish and is free?
> >>
> >
>

Reply via email to