Pierre, in my last posting I meant maxRetries=1, not retryCount=1.

JC

On Mon, Mar 28, 2011 at 12:05 PM, Jaroslaw Cwiklik <uim...@gmail.com> wrote:

> Pierre, I've identified the bug in UIMA AS code that causes the problem
> described. As a workaround, set the retryCount=1 in the error handling
> configuration for the delegate defined in your deployment descriptor. Here
> is an example:
>
> <remoteAnalysisEngine key="NoOp" >
>         <inputQueue endpoint="NoOpAnnotatorQueue"
> brokerURL="${BrokerURL}"/>
>         <serializer method="xmi"/>
>         <asyncAggregateErrorConfiguration>
>                             <processCasErrors maxRetries="1"
> timeout="15000" thresholdCount="1" thresholdAction="terminate" />
>          </asyncAggregateErrorConfiguration>
> </remoteAnalysisEngine>
>
> This should force creation of a new listener on the delegate reply queue.
>
> The listener recovery should be done with no retry being set and I will
> make necessary changes in the code to support that use case.
>
> Thanks for finding the bug!
>
> JC
>
> On Tue, Mar 22, 2011 at 1:12 PM, Jaroslaw Cwiklik <uim...@gmail.com>wrote:
>
>> Pierre, this appears to be a bug. In the scenario you've described the
>> uima as aggregate client should detect a lost connection (which it does) and
>> create a new one on a subsequent process CAS request destined to the remote
>> delegate. I will attempt to re-create your scenario and see if this is in
>> fact a bug.
>>
>> Thanks, JC
>>
>>
>> On Tue, Mar 22, 2011 at 7:11 AM, Pierre Pujalon <ppuja...@yahoo.fr>wrote:
>>
>>>  Hi,
>>>  I'm currently using UIMA-AS 2.3.1rc5 and I am having issues with
>>> asynchronous delegated ..
>>>
>>> I have a chain of several annotators. One of them is an asynchronous
>>> delegate as it is very resource consuming.
>>> So I have one UIMA service with a simpleChainDescriptor and several UIMA
>>> services with myDelegateAnnotatorDescriptor.
>>>
>>>  When the activeMQ broker fails and restart, all my UIMA services
>>> resfresh succesfully their JMS connection. But it appears that the service
>>> holding the processing chain (simpleChainDescriptor)  itself does not
>>> refresh the JMS connection to the delegate JMS queue.
>>>  When a new CAS is processed, I have the following exception in the
>>> console !!!! and the processing of the cas stop silently and passes to the
>>> next cas.
>>>  If I restart the service holding the chain, everything go back to
>>> normal.
>>>
>>>  Is this a bug or am I missing something?
>>>
>>>  Thanks,
>>>  Pierre
>>>
>>>
>>> ATTENTION: Uima AS Service:simpleChainDescriptor Listener Established
>>> Connection to Broker: tcp://brokerurl:61616
>>> 22 mars 2011 11:11:00
>>> org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer
>>> handleListenerSetupFailure
>>> ATTENTION: Uima AS Service:simpleChainDescriptor Listener Established
>>> Connection to Broker: tcp://brokerurl:61616
>>> 22 mars 2011 11:11:00
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel
>>> invalidateConnectionAndEndpoints
>>> INFO: Controller simpleChainDescriptor Invalidating JMS Connection To
>>> Broker tcp://brokerurl:61616 and Closing Sessions To Delegates
>>> 22 mars 2011 11:11:01
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl send
>>> ATTENTION: Service: simpleChainDescriptor Runtime Exception
>>> 22 mars 2011 11:11:01
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl send
>>> ATTENTION:
>>> org.apache.uima.aae.error.DelegateConnectionLostException:
>>> Controller:simpleChainDescriptor Lost Connection to
>>> Delegate:myDelegateAnnotatorDescriptor
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:536)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:507)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.dispatch(JmsOutputChannel.java:1366)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.sendCasToRemoteEndpoint(JmsOutputChannel.java:1527)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.serializeCasAndSend(JmsOutputChannel.java:658)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.sendRequest(JmsOutputChannel.java:610)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.dispatch(AggregateAnalysisEngineController_impl.java:2381)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.dispatchProcessRequest(AggregateAnalysisEngineController_impl.java:2421)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.simpleStep(AggregateAnalysisEngineController_impl.java:1294)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.executeFlowStep(AggregateAnalysisEngineController_impl.java:2302)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.process(AggregateAnalysisEngineController_impl.java:1229)
>>>        at
>>> org.apache.uima.aae.handler.HandlerBase.invokeProcess(HandlerBase.java:118)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.cancelTimerAndProcess(ProcessResponseHandler.java:108)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.handleProcessResponseWithCASReference(ProcessResponseHandler.java:387)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.handle(ProcessResponseHandler.java:656)
>>>        at
>>> org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:149)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:973)
>>>        at
>>> org.apache.uima.aae.spi.transport.vm.UimaVmMessageListener.onMessage(UimaVmMessageListener.java:107)
>>>        at
>>> org.apache.uima.aae.spi.transport.vm.UimaVmMessageDispatcher$1.run(UimaVmMessageDispatcher.java:70)
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>        at java.lang.Thread.run(Thread.java:619)
>>> 22 mars 2011 11:11:01
>>> org.apache.uima.aae.error.handler.ProcessCasErrorHandler handleError
>>> ATTENTION: Service: simpleChainDescriptor Runtime Exception
>>> 22 mars 2011 11:11:01
>>> org.apache.uima.aae.error.handler.ProcessCasErrorHandler handleError
>>> ATTENTION:
>>> org.apache.uima.aae.error.DelegateConnectionLostException:
>>> Controller:simpleChainDescriptor Lost Connection to
>>> Delegate:myDelegateAnnotatorDescriptor
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:536)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:507)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.dispatch(JmsOutputChannel.java:1366)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.sendCasToRemoteEndpoint(JmsOutputChannel.java:1527)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.serializeCasAndSend(JmsOutputChannel.java:658)
>>>        at
>>> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.sendRequest(JmsOutputChannel.java:610)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.dispatch(AggregateAnalysisEngineController_impl.java:2381)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.dispatchProcessRequest(AggregateAnalysisEngineController_impl.java:2421)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.simpleStep(AggregateAnalysisEngineController_impl.java:1294)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.executeFlowStep(AggregateAnalysisEngineController_impl.java:2302)
>>>        at
>>> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.process(AggregateAnalysisEngineController_impl.java:1229)
>>>        at
>>> org.apache.uima.aae.handler.HandlerBase.invokeProcess(HandlerBase.java:118)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.cancelTimerAndProcess(ProcessResponseHandler.java:108)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.handleProcessResponseWithCASReference(ProcessResponseHandler.java:387)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessResponseHandler.handle(ProcessResponseHandler.java:656)
>>>        at
>>> org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:149)
>>>        at
>>> org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:973)
>>>        at
>>> org.apache.uima.aae.spi.transport.vm.UimaVmMessageListener.onMessage(UimaVmMessageListener.java:107)
>>>        at
>>> org.apache.uima.aae.spi.transport.vm.UimaVmMessageDispatcher$1.run(UimaVmMessageDispatcher.java:70)
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>        at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>        at java.lang.Thread.run(Thread.java:619)
>>>
>>>
>>>
>>
>

Reply via email to