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 <[email protected]>: > Is behavior the same for single-threaded AnalysisEngine instantiation? > > On Tue, Nov 8, 2016 at 10:00 AM, nelson rivera <[email protected]> > 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? >> >
