Uploaded image for project: 'A-MQ Broker'
  1. A-MQ Broker
  2. ENTMQBR-1827

IndexOutOfBoundsException during receiving messages in remote JCA scenario between Artemis 1.5 and 2.x

    Details

    • Type: Bug
    • Status: Done
    • Priority: Blocker
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: broker-core
    • Labels:
    • Target Release:
    • Sprint:
      AMQ Broker 1833, AMQ Broker 1836
    • Steps to Reproduce:
      Hide

      This is intermittent issue, not 100% reproducer:

      git clone git://git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git
      cd eap-tests-hornetq/scripts/
      groovy -DEAP_ZIP_URL=https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/545/artifact/jboss-eap.zip -DEAP_ZIP_URL_OLD=https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/546/artifact/jboss-eap.zip 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=ResourceAdapterCompatibilityTestCase#OldJmsNewMdbWithStaticConnectorKill  -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.1531748885-SNAPSHOT | tee log
      
      Show
      This is intermittent issue, not 100% reproducer: git clone git: //git.app.eng.bos.redhat.com/jbossqe/eap-tests-hornetq.git cd eap-tests-hornetq/scripts/ groovy -DEAP_ZIP_URL=https: //eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/545/artifact/jboss-eap.zip -DEAP_ZIP_URL_OLD=https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-JMS/view/early-testing/view/tooling/job/early-testing-messaging-prepare/546/artifact/jboss-eap.zip 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=ResourceAdapterCompatibilityTestCase#OldJmsNewMdbWithStaticConnectorKill -Deap7.org.jboss.qa.hornetq.apps.clients.version=7.1531748885-SNAPSHOT | tee log

      Description

      Scenario:
      Nodes A and B are in cluster. Destinations InQueue and OutQueue are deployed on them.
      MDBs are deployed on node C and D. These MDBs read messages from InQueue of nodes A, B and sends them to OutQueue on A and B.
      Nodes A,B are running Artemis 1.5. Nodes C,D are using Artemis 2.6.

      1. Client sends messages to InQueue on node A
      2. MDBs on nodes C,D read messages from remote InQueue and send them to remote OutQueue on nodes A,B
      3. During processing of messages nodes A and C are killed
      4. Client reads messages from OutQueue on node B.

      Issue
      At the end of the test, client is not able to read message

      java.lang.IndexOutOfBoundsException: readerIndex(9) + length(128) exceeds writerIndex(133): UnpooledDuplicatedByteBuf(ridx: 9, widx: 133, cap: 606, unwrapped: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 606, cap: 606))
      	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1405)
      	at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1392)
      	at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:872)
      	at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:880)
      	at io.netty.buffer.WrappedByteBuf.readBytes(WrappedByteBuf.java:649)
      	at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:183)
      	at org.apache.activemq.artemis.api.core.SimpleString.readSimpleString(SimpleString.java:171)
      	at org.apache.activemq.artemis.api.core.SimpleString.readNullableSimpleString(SimpleString.java:158)
      	at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readNullableSimpleString(ChannelBufferWrapper.java:69)
      	at org.apache.activemq.artemis.reader.TextMessageUtil.readBodyText(TextMessageUtil.java:37)
      	at org.apache.activemq.artemis.jms.client.ActiveMQTextMessage.doBeforeReceive(ActiveMQTextMessage.java:112)
      	at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.getMessage(ActiveMQMessageConsumer.java:224)
      	at org.apache.activemq.artemis.jms.client.ActiveMQMessageConsumer.receive(ActiveMQMessageConsumer.java:132)
      	at org.jboss.qa.hornetq.apps.clients.Receiver11.receiveMessage(Receiver11.java:151)
      	at org.jboss.qa.hornetq.apps.clients.ReceiverTransAck.run(ReceiverTransAck.java:89)
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  clebert.suconic Clebert Suconic
                  Reporter:
                  mnovak Miroslav Novak
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 4 days
                    4d
                    Remaining:
                    Remaining Estimate - 4 days
                    4d
                    Logged:
                    Time Spent - Not Specified
                    Not Specified