-
Bug
-
Resolution: Done
-
Blocker
-
A-MQ 7.0.0.ER18
-
None
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
- clones
-
JBEAP-10295 Lost messages if JDBC store is disconnected
- Closed