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? > >> > > >