You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Daniel Baumartz <ba...@stud.uni-frankfurt.de> on 2018/05/28 13:29:36 UTC

UIMA AS deploy: get MessageTimeoutException object

Hi,

I can see an MessageTimeoutException in the log when calling 
BaseUIMAAsynchronousEngine_impl.deploy():


org.apache.uima.aae.error.MessageTimeoutException: Delegate 
Service:ServiceName Has Timed Out While Processing CAS:null
	at org.apache.uima.aae.delegate.Delegate$2.run(Delegate.java:827)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)


The timeout is actually expected because the service is not running, but 
I can only catch an exception like this, without the details:


org.apache.uima.resource.ResourceInitializationException
	at 
org.apache.uima.adapter.jms.activemq.SpringContainerDeployer.waitForServiceNotification(SpringContainerDeployer.java:530)
	at 
org.apache.uima.adapter.jms.activemq.SpringContainerDeployer.initializeContainer(SpringContainerDeployer.java:314)
	at 
org.apache.uima.adapter.jms.activemq.SpringContainerDeployer.deploy(SpringContainerDeployer.java:434)
	at 
org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl.deploy(BaseUIMAAsynchronousEngine_impl.java:916)
...
Caused by: org.apache.uima.resource.ResourceInitializationException
	at 
org.apache.uima.aae.controller.BaseAnalysisEngineController.stop(BaseAnalysisEngineController.java:2001)
	at 
org.apache.uima.aae.controller.BaseAnalysisEngineController.stop(BaseAnalysisEngineController.java:1898)
	at 
org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.stop(AggregateAnalysisEngineController_impl.java:3272)
	at 
org.apache.uima.aae.controller.BaseAnalysisEngineController.terminate(BaseAnalysisEngineController.java:2184)
	at 
org.apache.uima.aae.controller.BaseAnalysisEngineController.terminate(BaseAnalysisEngineController.java:2150)
	at 
org.apache.uima.aae.error.handler.GetMetaErrorHandler.handleError(GetMetaErrorHandler.java:104)
	at 
org.apache.uima.aae.error.ErrorHandlerChain.handle(ErrorHandlerChain.java:57)
	at 
org.apache.uima.aae.delegate.ControllerDelegate.handleError(ControllerDelegate.java:61)
	at org.apache.uima.aae.delegate.Delegate$2.run(Delegate.java:839)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)


I tried to use the callback listeners, but they do not seem to get 
called, am I doing something wrong here? Or is there another way to get 
the MessageTimeoutException object during deploy?

Thanks,
Daniel

Re: UIMA AS deploy: get MessageTimeoutException object

Posted by Jaroslaw Cwiklik <cw...@apache.org>.
Daniel, looks like UIMA-AS client receives just the
ResourceInitializationException
and MessageTimeoutException is not available. I will create JIRA for this
soon.
As a workaround you can try changing delegate's error handling thresholds:

<remoteAnalysisEngine key="yyy" >
                  <inputQueue endpoint="xxx"
brokerURL="${DefaultBrokerURL}"/>
                  <serializer method="xmi"/>
                      <asyncAggregateErrorConfiguration>
                            <getMetadataErrors maxRetries="3"
timeout="5000" errorAction=" terminate" />
                            <processCasErrors maxRetries="0" timeout="5000"
thresholdCount="1" thresholdAction="terminate" />
                      </asyncAggregateErrorConfiguration>
 </remoteAnalysisEngine>

specifically maxRetries and timeout ( may need to adjust client
getMetaTimeout as well).


On Mon, May 28, 2018 at 3:29 PM, Daniel Baumartz <
baumartz@stud.uni-frankfurt.de> wrote:

> Hi,
>
> I can see an MessageTimeoutException in the log when calling
> BaseUIMAAsynchronousEngine_impl.deploy():
>
>
> org.apache.uima.aae.error.MessageTimeoutException: Delegate
> Service:ServiceName Has Timed Out While Processing CAS:null
>         at org.apache.uima.aae.delegate.Delegate$2.run(Delegate.java:827)
>         at java.util.TimerThread.mainLoop(Timer.java:555)
>         at java.util.TimerThread.run(Timer.java:505)
>
>
> The timeout is actually expected because the service is not running, but I
> can only catch an exception like this, without the details:
>
>
> org.apache.uima.resource.ResourceInitializationException
>         at org.apache.uima.adapter.jms.activemq.SpringContainerDeployer
> .waitForServiceNotification(SpringContainerDeployer.java:530)
>         at org.apache.uima.adapter.jms.activemq.SpringContainerDeployer
> .initializeContainer(SpringContainerDeployer.java:314)
>         at org.apache.uima.adapter.jms.activemq.SpringContainerDeployer
> .deploy(SpringContainerDeployer.java:434)
>         at org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngin
> e_impl.deploy(BaseUIMAAsynchronousEngine_impl.java:916)
> ...
> Caused by: org.apache.uima.resource.ResourceInitializationException
>         at org.apache.uima.aae.controller.BaseAnalysisEngineController.
> stop(BaseAnalysisEngineController.java:2001)
>         at org.apache.uima.aae.controller.BaseAnalysisEngineController.
> stop(BaseAnalysisEngineController.java:1898)
>         at org.apache.uima.aae.controller.AggregateAnalysisEngineContro
> ller_impl.stop(AggregateAnalysisEngineController_impl.java:3272)
>         at org.apache.uima.aae.controller.BaseAnalysisEngineController.
> terminate(BaseAnalysisEngineController.java:2184)
>         at org.apache.uima.aae.controller.BaseAnalysisEngineController.
> terminate(BaseAnalysisEngineController.java:2150)
>         at org.apache.uima.aae.error.handler.GetMetaErrorHandler.handle
> Error(GetMetaErrorHandler.java:104)
>         at org.apache.uima.aae.error.ErrorHandlerChain.handle(ErrorHand
> lerChain.java:57)
>         at org.apache.uima.aae.delegate.ControllerDelegate.handleError(
> ControllerDelegate.java:61)
>         at org.apache.uima.aae.delegate.Delegate$2.run(Delegate.java:839)
>         at java.util.TimerThread.mainLoop(Timer.java:555)
>         at java.util.TimerThread.run(Timer.java:505)
>
>
> I tried to use the callback listeners, but they do not seem to get called,
> am I doing something wrong here? Or is there another way to get the
> MessageTimeoutException object during deploy?
>
> Thanks,
> Daniel
>