[ 
https://issues.apache.org/jira/browse/UIMA-2251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13129099#comment-13129099
 ] 

Jerry Cwiklik commented on UIMA-2251:
-------------------------------------

Meghana, check if your aggregate is configured to disable remote delegate after 
N errors/timouts. Not sure why the connection is lost. Perhaps network glitch. 
The code is checking state of a connection and if the connection.isOpen() 
returns false it is assumed that the connection is bad. That is a recoverable 
condition. On a subsequent attempt to dispatch, the Aggregate tries to reopen 
the connection. In your case, the subsequent CAS fails to dispatch because the 
endpoint seems to be disabled. I need to know if the disable happens due to 
aggregate configuration  

                
> UIMA AS aggregate disables broker connection 
> ---------------------------------------------
>
>                 Key: UIMA-2251
>                 URL: https://issues.apache.org/jira/browse/UIMA-2251
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>            Reporter: Jerry Cwiklik
>             Fix For: 2.4.0AS
>
>
> One of the  users reported a problem which seems like a bug in the UIMA AS 
> code which detects status of a   broker connection. The user provided 
> description follows:
> I have an aggregate AE with a remote primitive (OntoAnnotator). Both have
> their queues at the same broker. Clients send requests to the aggregate
> using the sendCAS() method.
> This was running fine for about 5-6 hours, but then the aggregate logged an
> error:
> 11/10/04 02:00:12 INFO cpe.DynamicFlowController$DynamicFlow: Next Executing
> Annotator :: OntoAnnotator
> 11/10/04 02:00:12 INFO activemq.JmsOutputChannel: Controller
> AnalysisAggregator Invalidating JMS Connection To Broker
> tcp://broker_ip:61616 and Closing Sessions To Delegates
> It had received 4-5 timeouts from the remote delegate over time, but at
> least a couple of hours before the above log. Both the broker and the remote
> delegate were still running and had not crashed.
> The aggregate continued processing requests after that -- the CASes are
> processed by all collocated primitives but not the remote one. Each CAS
> process request gets an exception:
> 11/10/04 02:00:12 WARN
> activemq.JmsEndpointConnection_impl:
> org.apache.uima.aae.error.DelegateConnectionLostException:
> Controller:AnalysisAggregator Lost Connection to Delegate:OntoAnnotator
>  at
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:547)
> at
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.send(JmsEndpointConnection_impl.java:509)
>  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:2395)
> at
> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.dispatchProcessRequest(AggregateAnalysisEngineController_impl.java:2435)
>  at
> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.simpleStep(AggregateAnalysisEngineController_impl.java:1295)
> at
> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.executeFlowStep(AggregateAnalysisEngineController_impl.java:2316)
>  at
> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.process(AggregateAnalysisEngineController_impl.java:1230)
> at
> org.apache.uima.aae.handler.HandlerBase.invokeProcess(HandlerBase.java:118)
>  at
> org.apache.uima.aae.handler.input.ProcessResponseHandler.cancelTimerAndProcess(ProcessResponseHandler.java:108)
> When I tried stopping the aggregate, the logs said the following though
> there was no CAS request in process:
> 11/10/04 10:18:18 WARN service.UIMA_Service: Uima AS Service
> AnalysisAggregator Caught Kill Signal - Initiating Quiesce and Stop
> 11/10/04 10:18:18 INFO controller.BaseAnalysisEngineController: Stopping
> Controller: AnalysisAggregator
> 11/10/04 10:18:18 INFO activemq.JmsInputChannel: Stopping Service JMS
> Transport. Service: q_async_ae
> 11/10/04 10:18:18 INFO activemq.JmsInputChannel: Controller:
> AnalysisAggregator Stopped Listener on Endpoint: queue://q_async_ae
> Selector:  Selector:Command=2000 OR Command=2002.
> 11/10/04 10:18:18 INFO activemq.JmsInputChannel: Stopping Service JMS
> Transport. Service: q_async_ae
> 11/10/04 10:18:18 INFO activemq.JmsInputChannel: Controller:
> AnalysisAggregator Stopped Listener on Endpoint: queue://q_async_ae
> Selector:  Selector:Command=2001.
> 11/10/04 10:18:18 INFO controller.BaseAnalysisEngineController: Controller:
> AnalysisAggregator Registering onEmpty Callback With InProcessCache.
> 11/10/04 10:18:18 INFO controller.BaseAnalysisEngineController: Controller:
> AnalysisAggregator Awaiting onEmpty Callback From InProcessCache
> After restarting just the aggregate, it connected to the remote AE just
> fine. So i'm wondering why the aggregate decided to stop communicating with
> it earlier?
> I've seen a previous thread with a similar error (
> http://thread.gmane.org/gmane.comp.apache.uima.general/3351/focus=3388), but
> there the broker was wilfully taken down, whereas I did no such thing.
> Thanks, and sorry for the barrage of info.
> Meghana

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to