After a high cpu load, jms processing comes to a stop.

Solution Unverified - Updated

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

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.