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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Blocker
    • 11.0.0.CR1
    • 11.0.0.Beta1
    • JMS
    • None
    • 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

    Description

      This issue was hit during pre-testing of fixes for EAP 7.1.0.ER3. After the discussion with kkhan1@redhat.com and bstansberry 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
      

      Attachments

        Issue Links

          Activity

            People

              pferraro@redhat.com Paul Ferraro
              ehugonne1@redhat.com Emmanuel Hugonnet
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: