You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Jaroslaw Cwiklik <ui...@gmail.com> on 2012/03/05 20:34:40 UTC

Re: UIMA-AS node failure

Arun, it looks like you are missing timeout setting in  <processCasErrors ...>.
It looks like you are never timing out waiting for a reply from the remote.

JC


On Mon, Feb 27, 2012 at 1:35 AM, Arun Tewatia <ar...@orkash.com>wrote:

> Dear all,
>
> I have been trying to configure node failure recovery for my uima-as
> cluster.
> Following are my error configuration for one remote delegate
>
> <delegates>
> <remoteAnalysisEngine key="XY" >
> <inputQueue endpoint="XYQueue" brokerURL="${defaultBrokerURL}"/>
> <asyncAggregateErrorConfiguration>
> <getMetadataErrors maxRetries="2" timeout="100000" errorAction="disable"/>
> <processCasErrors maxRetries="5" continueOnRetryFailure="true"
> thresholdCount="100"
> thresholdWindow="1000" thresholdAction="terminate"/>
> </asyncAggregateErrorConfiguration>
> <remoteAnalysisEngine>
> </delegates>
>
> As I understand from uima-as documentation, if maxRetries>0 &
> continueOnRetryFailure="true" CAS is saved before sending to remote
> delegate. But when my node fails the documents sent to the failing node are
> missed out, they are not processed. They are not resent for processing to
> another node running the same remote analysis engine XY.
>
> Am I missing something ?
>
> Cheers
> Arun Tewatia
>

Re: UIMA-AS node failure

Posted by Jaroslaw Cwiklik <ui...@gmail.com>.
>From UIMA AS documentation:

"The continueOnRetryFailure attribute, if set to 'true' causes the
framework to ask the aggregate's flow controller if the processing for the
CAS can continue. If this attribute is 'false' or if the flow controller
indicates it cannot continue, further processing on the CAS is stopped and
an error is returned from the aggregate "

http://uima.apache.org/d/uima-as-2.3.1/uima_async_scaleout.html#ugr.ref.async.deploy.descriptor.errorconfig


Does your Flow Controller return true? What happens to the CAS when you
time out?

JC


On Fri, Mar 9, 2012 at 5:58 AM, Arun Tewatia <ar...@orkash.com>wrote:

> Hi Jaroslaw,
>
> Thanks for the reply. Yes I was missing timeout parameter in
> <processCasErrors>
> section. But that hasn't solved my problem though.
>
> After your reply I tried timeout from 50 miliseconds to 5000 miliseconds,
> but
> still I am loosing the documents being sent to the failing node.
> For a timeout below 100 miliseconds the remote analysis engine doesn't
> execute
> at all, as continueOnFailure="true" which is OK I guess.
>
>
> Do I need to make some changes on the <remoteAnalysisEngine> deployment
> descriptor i.e. on the failing node as well ?
>
> Thanks
> Arun Tewatia
>
>
>

Re: UIMA-AS node failure

Posted by Eddie Epstein <ea...@gmail.com>.
On Mon, Mar 12, 2012 at 11:42 PM, Arun Tewatia <ar...@orkash.com> wrote:
> Yes My Flow Controller returns 'true'. The flow controller allows the flow even
> if the XY remote analysis engine is not processed, the results are not
> appropriate but the flow continues.
Do not set continueOnRetryFailure=true for a step unless it is
appropriate to continue processing a CAS even when it fails to be
processed by that step.

Sounds like all you want is to retry sending the CAS to the remote delegate.
maxRetries="5" means retry up to 5 times before failing

>
> When I set timeout less than 100 milliseconds, the flow controller times out
> waiting for the reply from remote analysis engine XY. The AE XY is then skipped
> and the CAS is passed to next AE in flow.
Normally a timeout is set to the maximum time one is willing to wait.
100 ms sounds like a very short timeout.

Re: UIMA-AS node failure

Posted by Arun Tewatia <ar...@orkash.com>.
Hi Jaroslaw,

Yes My Flow Controller returns 'true'. The flow controller allows the flow even
if the XY remote analysis engine is not processed, the results are not
appropriate but the flow continues.

When I set timeout less than 100 milliseconds, the flow controller times out
waiting for the reply from remote analysis engine XY. The AE XY is then skipped
and the CAS is passed to next AE in flow.


Thanks 
Arun Tewatia







Re: UIMA-AS node failure

Posted by Arun Tewatia <ar...@orkash.com>.
Hi Jaroslaw,

Thanks for the reply. Yes I was missing timeout parameter in <processCasErrors>
section. But that hasn't solved my problem though.

After your reply I tried timeout from 50 miliseconds to 5000 miliseconds, but
still I am loosing the documents being sent to the failing node. 
For a timeout below 100 miliseconds the remote analysis engine doesn't execute
at all, as continueOnFailure="true" which is OK I guess.


Do I need to make some changes on the <remoteAnalysisEngine> deployment
descriptor i.e. on the failing node as well ?

Thanks 
Arun Tewatia