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

Lost large message in cluster with network failures

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 7.0.0.ER5
    • 7.0.0.ER2 (Beta)
    • ActiveMQ
    • None
    • Hide

      git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git

      cd eap-tests-hornetq/scripts/

      git checkout refactoring_modules

      groovy -DEAP_VERSION=7.0.0.ER2 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

      mkdir journal_A
      mkdir journal_B
      export JOURNAL_DIRECTORY_A=$WORKSPACE/journal_A
      export JOURNAL_DIRECTORY_B=$WORKSPACE/journal_B

      cd ../jboss-hornetq-testsuite/

      mvn clean install -DfailIfNoTests=false -Dtest=NetworkFailuresHornetQCoreBridgesWithJGroups#testNetworkFailureLargeMessages -Deap=7x | tee log

      Show
      git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git cd eap-tests-hornetq/scripts/ git checkout refactoring_modules groovy -DEAP_VERSION=7.0.0.ER2 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 mkdir journal_A mkdir journal_B export JOURNAL_DIRECTORY_A=$WORKSPACE/journal_A export JOURNAL_DIRECTORY_B=$WORKSPACE/journal_B cd ../jboss-hornetq-testsuite/ mvn clean install -DfailIfNoTests=false -Dtest=NetworkFailuresHornetQCoreBridgesWithJGroups#testNetworkFailureLargeMessages -Deap=7x | tee log

      There is lost large message in cluster with network failures. This can have negative impact for customers.

      Test scenario:
      1. Start 2 servers in Artemis cluster with deployed "queue/InQueue" (reconnect-attempts for cluster connection is set to -1)
      2. Start producer which sends large messages (1 MB) to InQueue to 1st server
      3. Start consumer on 2nd server which reads messages from InQueue
      4. During steps 2. and 3. disconnect network between servers, wait 2 minutes and reconnect
      5. Stop producer and wait for consumer to receive all messages
      6. Verify that number of send and received messages is equal

      There is only one record in race log about lost message on receiving server:
      node-2-log/server-trace.log:09:58:21,123 TRACE [org.apache.activemq.artemis.core.server] (default I/O-4) sendLarge::LargeServerMessage[messageID=1279,priority=4,expiration=[null], durable=true, address=jms.queue.InQueue,properties=TypedProperties[__AMQ_CID=f77d9fb2-98d1-11e5-b811-01a8b3bcda7a,count=235,color=RED,_AMQ_BRIDGE_DUP=[E0A6 E941 98D1 11E5 B192 6118 E771 B016 0000 0000 0000 05F8),counter=236,_AMQ_DUPL_ID=45afdb1a-8aa8-4ff6-ae7d-44ed84e4a98b1449046516079,_AMQ_LARGE_SIZE=1048576,_AMQ_ROUTE_TO=[0000 0000 0000 000C),bytesAsLongs(12]]]@1469761220

              rh-ee-ataylor Andy Taylor
              okalman@redhat.com Ondřej Kalman (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: