Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-1657

UIMA AS client fails if a failover broker uri with multiple endpoints is used

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.3AS
    • 2.3AS
    • Async Scaleout
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            joern Jörn Kottmann
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: