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
>

Reply via email to