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

Consumer.receive hangs if http acceptor with non-zero batch-delay is configured

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.1.0.ER1
    • 7.0.3.CR2, 7.1.0.DR6, 7.1.0.DR18
    • JMS
    • None
    • Hide
      git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
      cd eap-tests-hornetq/scripts/
      
      groovy -DEAP_VERSION=7.1.0.DR18 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=BatchDelayTestCase#httpBatchDelayNonZeroTest  -DfailIfNoTests=false -Deap=7x  | tee log
      

      This is not 100% reproducer but you can hit the issue in more than 50% of runs.

      Show
      git clone git: //git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git cd eap-tests-hornetq/scripts/ groovy -DEAP_VERSION=7.1.0.DR18 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=BatchDelayTestCase#httpBatchDelayNonZeroTest -DfailIfNoTests= false -Deap=7x | tee log This is not 100% reproducer but you can hit the issue in more than 50% of runs.

    Description

      Test scenario:

      1. Call consumer.receive(1000) on empty queue.
      2. Check whether receive call is unblocked after the 1 second.

      Issue: The receive call is not unblocked.

      I hit the issue which was initially reported in JBEAP-6443. I found out that the issue is somehow related to http connectors/acceptors and batch-delay parameter. I am able to reproduce it only if a client connects via http-connector with non-zero batch-delay. When I tried classic remote-connector, everything worked with both zero and non-zero batch-delay.

      I am able to reproduce the issue with both Artemis 1.1 (EAP 7.0.3) and Artemis 1.4.

      From the thread dump, you can see where the client hangs.

      Stack trace of thread: Thread[Thread-10,5,main]
      ---java.lang.Object.wait(Native Method)
      ---org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive(ClientConsumerImpl.java:258)
      ---org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl.receive(ClientConsumerImpl.java:391)
      ---org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage(ActiveMQMessageConsumer.java:198)
      ---org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:122)
      ---org.jboss.qa.hornetq.apps.clients.Receiver11.receiveMessage(Receiver11.java:140)
      ---org.jboss.qa.hornetq.apps.clients.ReceiverAutoAck.run(ReceiverAutoAck.java:75)
      

      Attachments

        Issue Links

          Activity

            People

              thofman Tomas Hofman
              eduda_jira Erich Duda (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 2 days
                  2d
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 days
                  2d