[ 
https://issues.apache.org/jira/browse/UIMA-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jörn Kottmann closed UIMA-1657.
-------------------------------

    Resolution: Fixed

Thanks :-)

It works in our setup as expected.

> UIMA AS client fails if a failover broker uri with multiple endpoints is used
> -----------------------------------------------------------------------------
>
>                 Key: UIMA-1657
>                 URL: https://issues.apache.org/jira/browse/UIMA-1657
>             Project: UIMA
>          Issue Type: Bug
>          Components: Async Scaleout
>    Affects Versions: 2.3AS
>            Reporter: Jörn Kottmann
>             Fix For: 2.3AS
>
>
> The initialize time out if a failover broker uri with multiple endpoints is 
> used e.g.:
> failover:(tcp://XXX1:61616,tcp://XXX2:61616)?randomize=false 
> On the client side it results in a time out exception:
> Caused by: org.apache.uima.resource.ResourceInitializationException
>    at 
> org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngine_impl.initialize(BaseUIMAAsynchronousEngine_impl.java:637)
>    at org.apache.uima.camel.UimaAsProducer.<init>(UimaAsProducer.java:142)
>    at 
> org.apache.uima.camel.UimaAsEndpoint.createProducer(UimaAsEndpoint.java:89)
>    at org.apache.camel.processor.SendProcessor.doStart(SendProcessor.java:93)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>    at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>    at 
> org.apache.camel.processor.DelegateProcessor.doStart(DelegateProcessor.java:68)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>    at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>    at 
> org.apache.camel.processor.DelegateProcessor.doStart(DelegateProcessor.java:68)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>    at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>    at 
> org.apache.camel.processor.DelegateProcessor.doStart(DelegateProcessor.java:68)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>    at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>    at 
> org.apache.camel.processor.DelegateAsyncProcessor.doStart(DelegateAsyncProcessor.java:54)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:42)
>    at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:53)
>    at org.apache.camel.impl.DefaultConsumer.doStart(DefaultConsumer.java:85)
>    at org.apache.camel.component.jms.JmsConsumer.doStart(JmsConsumer.java:58)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at 
> org.apache.camel.impl.DefaultCamelContext.addService(DefaultCamelContext.java:422)
>    at 
> org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:664)
>    at 
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:635)
>    at 
> org.apache.camel.spring.SpringCamelContext.maybeDoStart(SpringCamelContext.java:166)
>    at 
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:161)
>    at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:49)
>    at 
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:96)
>    at 
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:115)
>    ... 12 more
> Caused by: org.apache.uima.aae.error.UimaASMetaRequestTimeout
>    ... 46 more
> And on the worker node it results in this exception:
> rg.apache.uima.aae.error.AsynchAEException: javax.jms.JMSException: Could not 
> create Transport. Reason: java.lang.IllegalArgumentException: Invalid connect 
> parameters: {randomize=false}
>    at 
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.openChannel(JmsEndpointConnection_impl.java:284)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.openChannel(JmsEndpointConnection_impl.java:147)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.open(JmsEndpointConnection_impl.java:301)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.open(JmsEndpointConnection_impl.java:290)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.getEndpointConnection(JmsOutputChannel.java:493)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsOutputChannel.sendReply(JmsOutputChannel.java:1153)
>    at 
> org.apache.uima.aae.controller.BaseAnalysisEngineController.sendMetadata(BaseAnalysisEngineController.java:2627)
>    at 
> org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.sendMetadata(AggregateAnalysisEngineController_impl.java:2585)
>    at 
> org.apache.uima.aae.handler.input.MetadataRequestHandler_impl.handle(MetadataRequestHandler_impl.java:69)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsInputChannel.onMessage(JmsInputChannel.java:643)
>    at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:518)
>    at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:479)
>    at 
> org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
>    at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
>    at 
> org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
>    at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
>    at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
>    at 
> org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
>    at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.jms.JMSException: Could not create Transport. Reason: 
> java.lang.IllegalArgumentException: Invalid connect parameters: 
> {randomize=false}
>    at 
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:35)
>    at 
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:242)
>    at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:255)
>    at 
> org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnection(ActiveMQConnectionFactory.java:227)
>    at 
> org.apache.activemq.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:175)
>    at 
> org.apache.uima.adapter.jms.activemq.JmsEndpointConnection_impl.openChannel(JmsEndpointConnection_impl.java:195)
>    ... 18 more
> Caused by: java.lang.IllegalArgumentException: Invalid connect parameters: 
> {randomize=false}
>    at 
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:144)
>    at 
> org.apache.activemq.transport.TransportFactory.doConnect(TransportFactory.java:51)
>    at 
> org.apache.activemq.transport.TransportFactory.connect(TransportFactory.java:80)
>    at 
> org.apache.activemq.ActiveMQConnectionFactory.createTransport(ActiveMQConnectionFactory.java:240)
>    ... 22 more
> It looks like that JmsMessageContext.chooseServerUri transform it
> from
> failover:(tcp://XXX1:61616,tcp://XXX2:61616)?randomize=false
> into
> tcp://XXX2:61616)?randomize=false
> which is then later rejected. 
> The removal of the call to chooseServerUir fixed the problem in my particular 
> case, but might fail
> if http is used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to