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
