Hi,

 

When using UIMA-AS I would like to have a timeout that would stop the
processing of a CAS document in case it is taking too long. When I read the
documentation it seems like this should be possible, but for some reason it
doesn't seem to be working for me, probably because I am configuring
something wrong. I am using version 2.6.0 and Java 7

 

The UIMA-AS deployment descriptor contains a top level engine that is an
aggregate engine descriptor which contains only one primitive AE using a
"fixed flow". Find below the descriptor I am using (in this case the
processing of a document should timeout after 1 second, right?), and I have
tried multiple combinations of the settings, but for some reason I am not
able to make the processing of a CAS timeout.

 

I have also tried the timeout on the client side, and that one works fine.

 

What am I doing wrong? Does the delegate need to be a remote service for
these timeouts to work? Does the delegate need to be pointing to another
aggregate engine that wraps the primitive engine?

 

Thanks,

Miguel

 

<?xml version="1.0" encoding="UTF-8"?><analysisEngineDeploymentDescription
xmlns="http://uima.apache.org/resourceSpecifier";>

  <name>UIMA-AS MyEngine</name>

  <description>Processes the document.</description>

  <version/>

  <vendor/>

  <deployment protocol="jms" provider="activemq">

    <casPool numberOfCASes="1" initialFsHeapSize="2000000"/>

    <service>

      <inputQueue endpoint="MyService" brokerURL="${defaultBrokerURL}"
prefetch="1"/>

      <topDescriptor>

        <import location="MyAggregate.xml"/>

      </topDescriptor>

      <analysisEngine async="true">

        <delegates>

          <analysisEngine key="MyPrimitiveEngine" async="false">

            <scaleout numberOfInstances="2"/>

            <casMultiplier poolSize="1" initialFsHeapSize="2000000"
processParentLast="false"/>

            <asyncAggregateErrorConfiguration>

              <getMetadataErrors maxRetries="0" timeout="0"
errorAction="terminate"/>

              <processCasErrors maxRetries="5" timeout="1000"
continueOnRetryFailure="false" thresholdCount="10" thresholdWindow="10000"
thresholdAction="terminate"/>

              <collectionProcessCompleteErrors timeout="0"
additionalErrorAction="terminate"/>

            </asyncAggregateErrorConfiguration>

          </analysisEngine>

        </delegates>

        <asyncPrimitiveErrorConfiguration>

          <processCasErrors thresholdCount="0" thresholdWindow="0"
thresholdAction="terminate"/>

          <collectionProcessCompleteErrors timeout="0"
additionalErrorAction="terminate"/>

        </asyncPrimitiveErrorConfiguration>

      </analysisEngine>

    </service>

  </deployment>

</analysisEngineDeploymentDescription>

 

Reply via email to