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

Messaging - Number of consumers should be almost equal on server restart

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Critical Critical
    • None
    • 8.0.0.Beta, 8.0.0.GA-CR1
    • ActiveMQ
    • False
    • None
    • False
    • Known Issue
    • Hide
      Use Java 17 and Groovy 4
      cd /tmp
      export EAP_ZIP_FILE=/tmp/jboss-eap-8.0.0.Beta-redhat-20220512.zip
      
      git clone messaging-testsuite
      export MESSAGING_TESTSUITE_DIR=$PWD/messaging-testsuite
      export WORKSPACE=/tmp/WORKSPACE
      
      rm -rdf $WORKSPACE
      mkdir -p $WORKSPACE
      cd $WORKSPACE
      
      groovy -DeapZipUrl=file://$EAP_ZIP_FILE $MESSAGING_TESTSUITE_DIR/scripts/PrepareServers7.groovy
      
      $MESSAGING_TESTSUITE_DIR/scripts/prepare-env-variables.sh
      
      chmod +x $WORKSPACE/test.env
      $WORKSPACE/test.env
      
      mvn -f $MESSAGING_TESTSUITE_DIR/jboss-hornetq-testsuite/pom.xml clean install -B \
      -Denforcer.skip \
      -Dartemis.version=2.19.1 \
      -DexcludedGroups=None,category.scope.Broker \
      -Dgroups=category.LodhRemoteJca \
      -Dtest=RemoteJcaTestCase
      -Dsurefire.timeout=93600 \
      -Deap7.org.jboss.qa.hornetq.apps.clients.version=8.1652818570-SNAPSHOT \
      -DreuseForks=false \
      -Dmaven.test.failure.ignore=true \
      -Deap7.clients.version=8.1652818570-SNAPSHOT \
      -Dmaven.repo.local=/some-path/.repository \
      -Dsurefire.failIfNoSpecifiedTests=false \
      -DMYTESTIP_1=127.0.0.1 -DMYTESTIP_2=127.0.0.1 -DMYTESTIP_3=127.0.0.1 -DMYTESTIP_4=127.0.0.1 \
      -DJBOSS_HOME_1=$WORKSPACE/server1/jboss-eap \
      -DJBOSS_HOME_2=$WORKSPACE/server2/jboss-eap \
      -DJBOSS_HOME_3=$WORKSPACE/server3/jboss-eap \
      -DJBOSS_HOME_4=$WORKSPACE/server4/jboss-eap 
      
      Show
      Use Java 17 and Groovy 4 cd /tmp export EAP_ZIP_FILE=/tmp/jboss-eap-8.0.0.Beta-redhat-20220512.zip git clone messaging-testsuite export MESSAGING_TESTSUITE_DIR=$PWD/messaging-testsuite export WORKSPACE=/tmp/WORKSPACE rm -rdf $WORKSPACE mkdir -p $WORKSPACE cd $WORKSPACE groovy -DeapZipUrl=file://$EAP_ZIP_FILE $MESSAGING_TESTSUITE_DIR/scripts/PrepareServers7.groovy $MESSAGING_TESTSUITE_DIR/scripts/prepare-env-variables.sh chmod +x $WORKSPACE/test.env $WORKSPACE/test.env mvn -f $MESSAGING_TESTSUITE_DIR/jboss-hornetq-testsuite/pom.xml clean install -B \ -Denforcer.skip \ -Dartemis.version=2.19.1 \ -DexcludedGroups=None,category.scope.Broker \ -Dgroups=category.LodhRemoteJca \ -Dtest=RemoteJcaTestCase -Dsurefire.timeout=93600 \ -Deap7.org.jboss.qa.hornetq.apps.clients.version=8.1652818570-SNAPSHOT \ -DreuseForks=false \ -Dmaven.test.failure.ignore=true \ -Deap7.clients.version=8.1652818570-SNAPSHOT \ -Dmaven.repo.local=/some-path/.repository \ -Dsurefire.failIfNoSpecifiedTests=false \ -DMYTESTIP_1=127.0.0.1 -DMYTESTIP_2=127.0.0.1 -DMYTESTIP_3=127.0.0.1 -DMYTESTIP_4=127.0.0.1 \ -DJBOSS_HOME_1=$WORKSPACE/server1/jboss-eap \ -DJBOSS_HOME_2=$WORKSPACE/server2/jboss-eap \ -DJBOSS_HOME_3=$WORKSPACE/server3/jboss-eap \ -DJBOSS_HOME_4=$WORKSPACE/server4/jboss-eap

      Scenario:

      The error shows up with EAP8 on JDK-17, not with with EAP8 on JDK-11 and not with EAP7 on JDK-11

      There are 4 EAP servers. Severs 1, 3 are in cluster configured using Netty static connectors.

      • Queue InQueue is deployed to servers 1,3
      • Servers 2 and 4 have RA configured to connect to servers 1 and 3 server using Netty static connectors
      • Start servers 1,3 and send 10000 (~1Kb) messages to InQueue
      • Start servers 2,4 with MDB consuming messages from InQueue and sending to OutQueue in XA transaction. MDB calls session.createQueue(OutQueue) for 1st message it processes
      • When MDBs are processing messages, restart (clean shutdown and start) servers in this order: 1,2,4,3
      • Wait until all messages are processed
      • check difference between number of consumers on InQueue on server 1 and 3 must be <= 2
      • check there is no lost or duplicated message

      What fails in this test sceanrio is that the number of consumers on node-1 differs from node-3 by a value that is greater than 2: 10

      The complete error message is:

      java.lang.AssertionError: Number of consumers should be almost equal. Number of consumers on node-1 is: 20 and on node-3 is: 10
              at org.junit.Assert.fail(Assert.java:89)
              at org.junit.Assert.assertTrue(Assert.java:42)
              at org.jboss.qa.hornetq.test.remote.jca.RemoteJcaTestCase.testLoadBalancingOfInboundConnectionsToClusterOneServerRestart(RemoteJcaTestCase.java:1108)
      

            ehugonne1@redhat.com Emmanuel Hugonnet
            tborgato@redhat.com Tommaso Borgato
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: