Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-12778

discovery-group does not work for pooled-connection-factory because of NPE

    Details

    • Type: Bug
    • Status: Verified (View Workflow)
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: 7.1.0.ER3
    • Fix Version/s: 7.1.0.CR1
    • Component/s: JMS
    • Labels:
      None
    • Target Release:
    • Steps to Reproduce:
      Hide

      The issue was hit with EAP version fb15909332d951460eea0114afd7852587b38d9b

      1. Build and zip the EAP.
      2. Run following commands:
        git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
        cd eap-tests-hornetq/scripts/
        groovy -DEAP_ZIP_URL=file:///path/to/your/custom/build 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=RemoteJcaTestCase#testRemoteJcaWihtDefaultJGroupsCluster -DfailIfNoTests=false -Deap=7x | tee log
        
      Show
      The issue was hit with EAP version fb15909332d951460eea0114afd7852587b38d9b Build and zip the EAP. Run following commands: git clone git: //git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git cd eap-tests-hornetq/scripts/ groovy -DEAP_ZIP_URL=file: ///path/to/your/custom/build 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=RemoteJcaTestCase#testRemoteJcaWihtDefaultJGroupsCluster -DfailIfNoTests= false -Deap=7x | tee log
    • Affects Testing:
      Regression

      Description

      This issue was hit during pre-testing of fixes for EAP 7.1.0.ER3. After the discussion with Kabir Khan and Brian Stansberry it was decided to create new Jira for the issue.

      Test scenario:

      • There are 4 EAP servers.
      • Servers 1, 3 are in cluster. They hold messages and they will be referenced in this text as JMS servers.
      • Servers 2, 4 are not in cluster. They have RA configured to connect to servers 1 and 3 using discovery-group, which uses JGroups. They have MDBs which resend messages from InQueue to OutQueue. Servers 2, 4 will be referenced in this text as MDB servers.

      Expectation: MDBs on MDB servers are able to discover and conenct to JMS servers.
      Reality: During activation of resource adapter on MDB servers, NPE is thrown.

      Customer impact: Resource adapter cannot be configured to dynamically discover JMS servers.

      This is regression against 7.0.z.

      This issue wasn't hit before, because with EAP 7.1.0.ER3 the server did not start with this configuration. See JBEAP-12526 for details.

      Detail description of issue
      The following NPE arises when MDBs on MDB servers tries to connect to JMS servers via pooled-connection-factory configured to use JGroups for discovery.

      org.apache.activemq.artemis.ra.inflow.ActiveMQActivationSpec(ra=org.apache.activemq.artemis.ra.ActiveMQResourceAdapter@e77d2b4c destination=jms/queue/InQueue destinationType=javax.jms.Queue ack=Auto-acknowledge durable=false clientID=null user=null maxSession=15): ActiveMQInternalErrorException[errorType=INTERNAL_ERROR message=AMQ119004: Failed to initialise session factory]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:308) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:741) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation.setup(ActiveMQActivation.java:311) [artemis-ra-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation.reconnect(ActiveMQActivation.java:658) [artemis-ra-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.ra.inflow.ActiveMQActivation$SetupActivation.run(ActiveMQActivation.java:698) [artemis-ra-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.jboss.jca.core.workmanager.WorkWrapper.runWork(WorkWrapper.java:445)
      	at org.jboss.as.connector.services.workmanager.WildflyWorkWrapper.runWork(WildflyWorkWrapper.java:68)
      	at org.jboss.jca.core.workmanager.WorkWrapper.run(WorkWrapper.java:223)
      	at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
      	at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:808)
      	at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
      	at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:828)
      	at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_131]
      	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
      Caused by: java.lang.NullPointerException
      	at org.apache.activemq.artemis.api.core.jgroups.JChannelWrapper.<init>(JChannelWrapper.java:50) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.api.core.jgroups.JChannelManager.getJChannel(JChannelManager.java:74) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.api.core.JGroupsBroadcastEndpoint.initChannel(JGroupsBroadcastEndpoint.java:108) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.api.core.ChannelBroadcastEndpointFactory.createBroadcastEndpoint(ChannelBroadcastEndpointFactory.java:72) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.core.cluster.DiscoveryGroup.<init>(DiscoveryGroup.java:95) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createDiscoveryGroup(ServerLocatorImpl.java:315) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:300) [artemis-core-client-1.5.5.006-redhat-1.jar:1.5.5.006-redhat-1]
      	... 13 more
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  pferraro Paul Ferraro
                  Reporter:
                  eduda Erich Duda
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: