After a high cpu load, jms processing comes to a stop.
Environment
- JBoss Enterprise Application Platform [EAP] 6
- HornetQ as default JMS provider
Issue
- Messaging cluster is providing queue(s).
- Client (clustered) is sending/receiving messages from/to cluster remotely.
- Client is impacted by "high CPU" for some time, so that the processing comes to a pause.
- After impact disappears the server doesn't recover fully, what can cause message losses and duplicates?
Resolution
- Apply JBoss EAP 6.4 Cumulative Patch (CP) 6 or later
Root Cause
- This content is not included.Bug 1295675 - Message Loss or Duplicate in cluster with network failures
- This content is not included.Bug 1278334 - CPU Starvation causes duplicate messages
Diagnostic Steps
- Setup and start the messaging cluster providing queue(s).
- Setup clustered client containing MDB sending/receiving messages from/to cluster remotely in XA scope.
- Cause workload by sending a lot of messages into inbound queue to be processed.
- Cause "high CPU" for some time, so that the processing comes to a pause.
- After impact let the servers run for some time to give recovery processes a chance to engage.
- Finally check the results to see if a message is duplicated or lost.
Components
Category
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.