You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Jörn Kottmann (JIRA)" <ui...@incubator.apache.org> on 2009/11/11 14:55:39 UTC

[jira] Created: (UIMA-1657) UIMA AS client fails if a failover broker uri with multiple endpoints is used

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.


[jira] Closed: (UIMA-1657) UIMA AS client fails if a failover broker uri with multiple endpoints is used

Posted by "Jörn Kottmann (JIRA)" <ui...@incubator.apache.org>.
     [ 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.