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

Lost messages if JDBC store is disconnected

XMLWordPrintable

    • Hide

      See instructions how to setup your environment before you can run the test.

      Run following commands:

      git clone git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/messaging-cloud-testsuite.git
      cd messaging-cloud-testsuite
      mvn clean install -Deap=7x -Deap.version=7.1.0.DR16 -DfailIfNoTests=false -DstartNodesDelay=0 -Dtest=JDBCNetworkFailureTestCase#disconnecNetworkWithMDB | tee log
      

      Server logs and the configuration you can find in directory messaging-cloud-testsuite/eap7-tests/target/org.jboss.qa.messaging.tests.eap7.JDBCNetworkFailureTestCase.disconnecNetworkWithMDB

      Show
      See instructions how to setup your environment before you can run the test. Run following commands: git clone git@gitlab.mw.lab.eng.bos.redhat.com:jbossqe-eap/messaging-cloud-testsuite.git cd messaging-cloud-testsuite mvn clean install -Deap=7x -Deap.version=7.1.0.DR16 -DfailIfNoTests= false -DstartNodesDelay=0 -Dtest=JDBCNetworkFailureTestCase#disconnecNetworkWithMDB | tee log Server logs and the configuration you can find in directory messaging-cloud-testsuite/eap7-tests/target/org.jboss.qa.messaging.tests.eap7.JDBCNetworkFailureTestCase.disconnecNetworkWithMDB

      Scenario

      • There is one EAP configured to use JDBC persistence storage.
      • Producer sends 300 messages to InQueue.
      • After that MDB is deployed. It sends messages from InQueue to OutQueue.
      • When half of the messages occurs in the OutQueue, network between EAP and database is failed.
      • Network is down for 16 minutes to cause closing of JDBC connection.
      • Then network is restored and EAP is restarted.
      • After the restart MDB continues in resending of messages from InQueue to OutQueue.
      • Test waits until all prepared transactions are resolved.
      • Receiver receives all messages from OutQueue.

      Expectation: Receiver receives all messages sent by producer.
      Reality: Receiver doesn't receive all messages sent by producer. Some of them are lost.

      Customer impact: If network between EAP and database fails, some messages may be lost.

      When EAP is started after the network was restored, I can see log messages [1] in server.log. These messages corresponds to lost messages.

      When I tracked the XA transactions of lost messages, last information I found was that transactions were successfully rollbacked.

      [1]

      2017-04-11 13:46:38,170 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 74) AMQ221019: Deleting unreferenced message id=432 from the journal
      2017-04-11 13:46:38,170 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 74) AMQ221019: Deleting unreferenced message id=434 from the journal
      2017-04-11 13:46:38,171 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 74) AMQ221019: Deleting unreferenced message id=444 from the journal
      2017-04-11 13:46:38,171 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 74) AMQ221019: Deleting unreferenced message id=446 from the journal
      

        1. test.log
          1.04 MB
        2. standalone-full-ha-0.xml
          39 kB
        3. server-0-trace.zip
          3.84 MB
        4. server-0.log
          487 kB

              mtaylor1@redhat.com Martyn Taylor (Inactive)
              eduda_jira Erich Duda (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: