Status: Verified (View Workflow)
Affects Version/s: 7.1.0.DR16
Fix Version/s: 7.1.0.DR17
Steps to Reproduce:
See instructions how to setup your environment before you can run the test.
Run following commands:
Server logs and the configuration you can find in directory messaging-cloud-testsuite/eap7-tests/target/org.jboss.qa.messaging.tests.eap7.JDBCNetworkFailureTestCase.disconnecNetworkWithMDBSee instructions how to setup your environment before you can run the test. Run following commands: git clone email@example.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
- 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  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.