Meghana, UIMA AS aggregate cant recover a CAS that is stuck in a collocated AE. You may not be observing this problem in the UIMA aggregate due to a fact that UIMA aggregate is single threaded. Timeouts are only supported for remotes. Try to run synchronous (UIMA) aggregate deployed in a primitive UIMA AS service. It would have to be single threaded due to non-thread safe code you are using. But you can replicate it to get better scaleout.
Jerry C On Tue, Sep 27, 2011 at 10:14 AM, Meghana <meghana.mara...@germinait.com>wrote: > Hi all, > > We have an AS aggregate containing 10 colocated primitives, which works > fine > in a non-AS setting. Some times one of the primitives waits in the monitor > (a synchronized block) for another, which never seems to come out of it! > Unfortunately, that code is not under our control, so i've set up timeouts > using asyncAggregateErrorConfiguration, and also a timeout parameter to > initialize(). > > The client times out correctly if the reply takes too long, but the > annotators do not! Due to that, when the client sends a _different_ request > (reusing a CAS from the same cas pool) to the AS, it logs this: > 11/09/27 19:47:26 INFO input.ProcessRequestHandler_impl: Duplicate Request > With Cas Reference Id: 639041f1:132ab384912:-7fe5 Received. Ignoring > Duplicate. > > And continues trying to process the older request (and remains stuck!). > > What could be the problem? This is what my deployment descriptor looks > like: > <analysisEngineDeploymentDescription xmlns=" > http://uima.apache.org/resourceSpecifier"> > > <name>AsyncAggregate</name> > <description>Aggregate Analysis Engine Deployment</description> > <version>1.0</version> > <vendor>Germinait Solutions</vendor> > > <deployment protocol="jms" provider="activemq"> > <casPool numberOfCASes="2" /> > <service> > <inputQueue endpoint="q_async_ae" > brokerURL="tcp://localhost:61616" /> > <topDescriptor> > <import name="async.AsyncAnalysisAggregator" /> > </topDescriptor> > > <analysisEngine key="AnalysisAggregator" async="true"> > <delegates> > <analysisEngine key="ActionableAnnotator"> > <asyncAggregateErrorConfiguration> > <processCasErrors timeout="20000" > continueOnRetryFailure="true" /> > </asyncAggregateErrorConfiguration> > </analysisEngine> > ... > </delegates> > </analysisEngine> > </service> > </deployment> > </analysisEngineDeploymentDescription> > > > Thanks a lot, > > Meghana >