Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11418

Message sent to JMSReplyTo from new client to old server does not find correct binding

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 15.0.0.Final
    • 15.0.0.Beta1
    • JMS
    • None
    • Hide

      Steps to reproduce:

      git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
      cd eap-tests-hornetq/scripts/
      git checkout master
      
      groovy -DEAP_ZIP_URL=http://download.eng.brq.redhat.com/devel/candidates/JBEAP/JBEAP-7.2.0.CD13-SP01.CR1/jboss-eap-7.2.0.CD13-SP01.CR1.zip PrepareServers7.groovy
      export WORKSPACE=$PWD
      export JBOSS_HOME_1=$WORKSPACE/server1/jboss-eap
      export JBOSS_HOME_2=$WORKSPACE/server2/jboss-eap
      export JBOSS_HOME_3=$WORKSPACE/server3/jboss-eap
      export JBOSS_HOME_4=$WORKSPACE/server4/jboss-eap
      
      cd ../jboss-hornetq-testsuite/
      mvn clean test -Dtest=JcaTestCase#testReplyTo    -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.2.0.GA.CR1 | tee log
      
      Show
      Steps to reproduce: git clone git: //git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git cd eap-tests-hornetq/scripts/ git checkout master groovy -DEAP_ZIP_URL=http: //download.eng.brq.redhat.com/devel/candidates/JBEAP/JBEAP-7.2.0.CD13-SP01.CR1/jboss-eap-7.2.0.CD13-SP01.CR1.zip PrepareServers7.groovy export WORKSPACE=$PWD export JBOSS_HOME_1=$WORKSPACE/server1/jboss-eap export JBOSS_HOME_2=$WORKSPACE/server2/jboss-eap export JBOSS_HOME_3=$WORKSPACE/server3/jboss-eap export JBOSS_HOME_4=$WORKSPACE/server4/jboss-eap cd ../jboss-hornetq-testsuite/ mvn clean test -Dtest=JcaTestCase#testReplyTo -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.2.0.GA.CR1 | tee log
    • Regression

    Description

      There is regression in backward compatibility of messaging client. JMSReplyTo destination set by new client contains incorrect address which causes that reply message does not have correct binding and such message is lost.

      Impact: Applications will stop work after upgrading client to WF14/EAP 7.2.0.CD14/EAP 7.2.0.GA.

      Test Scenario:

      • Start EAP 7.1.x/7.2.0.CD13 server (Artemis 1.5.x) with deployed InQueue and OutQueue
      • Send message to InQueue by new EAP 7.2.0.GA.CR1 client to InQueue. Message has JMSReplyTo header set to OutQueue. Client got "OutQueue" queue from JNDI lookup from EAP 7.1.x/7.2.0.CD13
      • Deploy MDB to server
        • MDB consumes message from InQueue and sends new message to destination defined in JMSReplyTo header (so to OutQueue)
      • Receive message from OutQueue

      Result:
      No message is received from OutQueue. There is ERROR message in server log:

      15:52:46,005 ERROR [org.jboss.qa.hornetq.apps.mdb.LocalMdbFromQueueJMSReply] (Thread-0 (ActiveMQ-client-global-threads)) Invalid address queue://jms.queue.OutQueue: javax.jms.JMSRuntimeException: Invalid address queue://jms.queue.OutQueue
      	at org.apache.activemq.artemis.jms.client.ActiveMQDestination.fromAddress(ActiveMQDestination.java:119)
      	at org.apache.activemq.artemis.jms.client.ActiveMQMessage.getJMSReplyTo(ActiveMQMessage.java:356)
      	at org.jboss.qa.hornetq.apps.mdb.LocalMdbFromQueueJMSReply.onMessage(LocalMdbFromQueueJMSReply.java:103) [mdb-reply:]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_181]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_181]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_181]
      	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_181]
      	at org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) [wildfly-ee-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:40)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
      	at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:255) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:334) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:240) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.deployment.processors.EjbSuspendInterceptor.processInvocation(EjbSuspendInterceptor.java:57) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.as.ejb3.component.messagedriven.MessageDrivenComponentDescription$5$1.processInvocation(MessageDrivenComponentDescription.java:239) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:60)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:438)
      	at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:609) [wildfly-elytron-1.1.10.Final-redhat-1.jar:1.1.10.Final-redhat-1]
      	at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:57)
      	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
      	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
      	at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)
      	at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:185)
      	at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:81)
      	at org.jboss.qa.hornetq.apps.mdb.LocalMdbFromQueueJMSReply$$$view1.onMessage(Unknown Source) [mdb-reply:]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_181]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_181]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_181]
      	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_181]
      	at org.jboss.as.ejb3.inflow.MessageEndpointInvocationHandler.doInvoke(MessageEndpointInvocationHandler.java:139) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.as.ejb3.inflow.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:73) [wildfly-ejb3-7.1.3.GA-redhat-2.jar:7.1.3.GA-redhat-2]
      	at org.jboss.qa.hornetq.apps.mdb.LocalMdbFromQueueJMSReply$$$endpoint1.onMessage(Unknown Source) [mdb-reply:]
      	at org.apache.activemq.artemis.ra.inflow.ActiveMQMessageHandler.onMessage(ActiveMQMessageHandler.java:303)
      	at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.callOnMessage(ClientConsumerImpl.java:1001)
      	at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.access$400(ClientConsumerImpl.java:49)
      	at org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl$Runner.run(ClientConsumerImpl.java:1124)
      	at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:122)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_181]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_181]
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_181]
      

      Attachments

        Issue Links

          Activity

            People

              mtaylor1@redhat.com Martyn Taylor (Inactive)
              ehugonne1@redhat.com Emmanuel Hugonnet
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: