Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-9837

Intermittent failures when using CXF JAX-RS over JMS connecting to external AMQ-7

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: fuse-7.2
    • Fix Version/s: fuse-7.3
    • Component/s: CXF, Fuse on Openshift, Karaf
    • Labels:
      None
    • Sprint:
      Fuse 7.3 Sprint 42 - Bug fix
    • Steps to Reproduce:
      Hide
      1. Deploy AMQ Broker 7.2
        1. oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.2.GA/templates/amq-broker-72-basic.yaml -n openshift
        2. oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.2.GA/amq-broker-7-image-streams.yaml -n openshift
        3. oc import-image amq-broker-72-openshift:1.2 -n openshift
        4. oc new-project amq-test
        5. oc new-app -n amq-test --template amq-broker-72-basic -p AMQ_USER=admin123 -p AMQ_PASSWORD=admin456
      2. Deploy Karaf CXF JAX-RS app
        1. mvn clean install && mvn fabric8:deploy in unzipped cxf-jaxrs-jms-transport.zip
      3. Port forward to Openshift AMQ
        1. oc get pods -n amq-test # find amq pod name
        2. oc port-forward <amq-pod-name> 61616:61616
      4. Run client test in another terminal
        1. mvn clean test -Dtest=ClientTest in unzipped client-test.zip

      This invocation gave me only

      Adding Superior
      Getting Superior
      Updating Superior
      

      in cxf pod output

      Show
      Deploy AMQ Broker 7.2 oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.2.GA/templates/amq-broker-72-basic.yaml -n openshift oc replace --force -f https://raw.githubusercontent.com/jboss-container-images/jboss-amq-7-broker-openshift-image/72-1.2.GA/amq-broker-7-image-streams.yaml -n openshift oc import-image amq-broker-72-openshift:1.2 -n openshift oc new-project amq-test oc new-app -n amq-test --template amq-broker-72-basic -p AMQ_USER=admin123 -p AMQ_PASSWORD=admin456 Deploy Karaf CXF JAX-RS app mvn clean install && mvn fabric8:deploy in unzipped cxf-jaxrs-jms-transport.zip Port forward to Openshift AMQ oc get pods -n amq-test # find amq pod name oc port-forward <amq-pod-name> 61616:61616 Run client test in another terminal mvn clean test -Dtest=ClientTest in unzipped client-test.zip This invocation gave me only Adding Superior Getting Superior Updating Superior in cxf pod output

      Description

      Error in client test

      Nov 21, 2018 10:59:19 AM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
      WARNING: Interceptor for {jms:jndi:dynamicQueues/test.jms.transport.text}WebClient has thrown exception, unwinding now
      java.lang.RuntimeException: Timeout receiving message with correlationId ecb993366b9943ccb4207c9da84b3ab60000000000000001
      	at org.apache.cxf.transport.jms.util.JMSUtil.convertJmsException(JMSUtil.java:92)
      	at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:165)
      	at org.apache.cxf.transport.jms.MessageStreamUtil$SendingOutputStream.doClose(MessageStreamUtil.java:81)
      	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:213)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.jms.JMSConduit.close(JMSConduit.java:101)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:309)
      	at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:677)
      	at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1041)
      	at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:895)
      	at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:863)
      	at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:426)
      	at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:609)
      	at ClientTest.testBasic(ClientTest.java:47)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
      	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
      	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
      Caused by: javax.jms.JMSException: Timeout receiving message with correlationId ecb993366b9943ccb4207c9da84b3ab60000000000000001
      	at org.apache.cxf.transport.jms.JMSConduit.sendAndReceiveMessage(JMSConduit.java:243)
      	at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:145)
      	... 42 more
      
      Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 74.244 sec <<< FAILURE!
      testBasic(ClientTest)  Time elapsed: 74.202 sec  <<< ERROR!
      javax.ws.rs.ProcessingException: java.lang.RuntimeException: Timeout receiving message with correlationId ecb993366b9943ccb4207c9da84b3ab60000000000000001
      	at org.apache.cxf.jaxrs.client.AbstractClient.checkClientException(AbstractClient.java:604)
      	at org.apache.cxf.jaxrs.client.AbstractClient.preProcessResult(AbstractClient.java:580)
      	at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1105)
      	at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1042)
      	at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:895)
      	at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:863)
      	at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:426)
      	at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:609)
      	at ClientTest.testBasic(ClientTest.java:47)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
      	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:498)
      	at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
      	at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
      	at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
      Caused by: java.lang.RuntimeException: Timeout receiving message with correlationId ecb993366b9943ccb4207c9da84b3ab60000000000000001
      	at org.apache.cxf.transport.jms.util.JMSUtil.convertJmsException(JMSUtil.java:92)
      	at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:165)
      	at org.apache.cxf.transport.jms.MessageStreamUtil$SendingOutputStream.doClose(MessageStreamUtil.java:81)
      	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:213)
      	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
      	at org.apache.cxf.transport.jms.JMSConduit.close(JMSConduit.java:101)
      	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:309)
      	at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:677)
      	at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1041)
      	... 34 more
      Caused by: javax.jms.JMSException: Timeout receiving message with correlationId ecb993366b9943ccb4207c9da84b3ab60000000000000001
      	at org.apache.cxf.transport.jms.JMSConduit.sendAndReceiveMessage(JMSConduit.java:243)
      	at org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:145)
      	... 42 more
      

        Gliffy Diagrams

          Attachments

          1. client-test.zip
            11 kB
          2. client-test-fuse73.zip
            10 kB
          3. client-test-fuse73-amqp.tar
            50 kB
          4. client-test-fuse73-new.tar
            85 kB
          5. cxf-jaxrs-jms-transport.zip
            13 kB
          6. cxf-jaxrs-jms-transport-fuse73.zip
            21 kB
          7. cxf-jaxrs-jms-transport-fuse73-amqp.tar
            52 kB
          8. cxf-jaxrs-jms-transport-fuse73-new.tar
            51 kB
          9. logging.properties
            3 kB

            Issue Links

              Activity

                People

                • Assignee:
                  ffang Freeman(Yue) Fang
                  Reporter:
                  llowinge Lukáš Löwinger
                  Tester:
                  Lukáš Löwinger
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: