Event messages using WebSphere MQ transport arrive in the wrong order at WebSphere Business Monitor

Technote (troubleshooting)


Problem(Abstract)

When monitoring events that are sent over WebSphere MQ, metrics and KPIs are calculated incorrectly, and event messages are routed to the failed event queue.

Cause

The Monitor model requires events to arrive in the same order in which they were sent, but the events arrive out of order.

Some Monitor models require events to be sent from the same event producer, such as an instance of a process or a message flow, to be processed by Business Monitor in the order in which they were produced. For models where event order is important, incorrect event sequence order can result in model processing exceptions, and incorrectly calculated data.

Ensuring strict message sequencing across a distributed environment is complex and does not scale easily. If possible, message (re)ordering should be done in the target application, such as Business Monitor using sequence attributes of the message payload. This reduces the possibility of
messages being processed out of sequence.


Environment

When Monitor events flow through a WebSphere MQ network with multiple queue managers, careful planning is necessary to keep messages in sequence. Some of the factors that might affect message ordering are:


- Message priority
- Syncpointing and backout handling in the emitter applications
- Usage of a dead-letter queue
- Topology of MQ network (multi-hopping)
- Channel options (message-retry channel exit, NPMSPEED(FAST) )
- Cluster workload balancing options


Resolving the problem

If possible, use the event re-sequencing (reordering) mechanism that is available in Business Monitor for the Monitor model.

If this is not possible, you must ensure that all events emitted from the same application travel through the same MQ network route. If any applications, such as a message-driven bean, process the events enroute, all events must be processed by the same instance of the application.

1. Ensure MQOO_BIND_ON_OPEN is set on the MQ cluster queues.
This option ensures that messages emitted from a specific application instance are sent to the same MQ cluster queue. Individual application instances will continue to be workload-balanced between MQ cluster queues to provide scalability.
This option must be used when messages from the same application instance must be delivered in a strict sequence.

Note that if the destination queue manager becomes unavailable while an instance of an application is still emitting messages to it, this application will fail.
If MQOO_BIND_NOT_FIXED is set on MQ cluster queues, all messages will be workload-balanced on a message-by-message basis. This means that message sequence at the destination cannot be predicted.

2. In the activation specification, set "maximum server sessions" =1. If a listener port (deprecated) is used, then set its "maximum sessions" = 1.


3. To force the sequence of delivery from SI bus, the "Maintain strict message order" option must be enabled for destinations on the CEI and MONITOR bus.
Note: There is no way to make strict message ordering the default for newly deployed Monitor models, it must be explicitly set for the MONITOR bus destinations of the Monitor model each time, if required.

Related information

Processing strategies for monitor models
Event sequencing in Business Monitor
JMS emitter event sequencing and multi-threaded process
Strict message ordering using activation specifications
Strict message order for a bus destination
Message affinities in WebSphere MQ clusters
Delivery ordering with WebSphere MQ mesaging provider

Cross reference information
Segment Product Component Platform Version Edition
Business Integration IBM Business Monitor Not Applicable AIX, Linux, Solaris, Windows, z/OS 8.0.1.1, 8.0.1, 8.0, 7.5.1.1, 7.5.1, 7.5.0.1, 7.5
Business Integration WebSphere MQ Not Applicable AIX, HP-UX, Linux, Solaris, Windows, z/OS 7.5.0.1, 7.5, 7.1.0.2, 7.1.0.1, 7.1, 7.0.4.3, 7.0.4.2, 7.0.4.1, 7.0.4, 7.0.3, 7.0.2, 7.0.1.9, 7.0.1.8, 7.0.1.7, 7.0.1.6, 7.0.1.5, 7.0.1.4, 7.0.1.3, 7.0.1.2, 7.0.1.10, 7.0.1.1, 7.0.1, 7.0.0.2, 7.0.0.1, 7.0, 6.0.2.9, 6.0.2.8, 6.0.2.7, 6.0.2.6, 6.0.2.5, 6.0.2.4, 6.0.2.3, 6.0.2.2, 6.0.2.12, 6.0.2.11, 6.0.2.10, 6.0.2.1, 6.0.2, 6.0.1.2, 6.0.1.1, 6.0.1, 6.0
Business Integration WebSphere Message Broker MQSeries AIX, HP-UX, Linux, OS/390, Solaris, Windows 8.0.0.2, 8.0.0.1, 8.0, 7.0.0.5, 7.0.0.4, 7.0.0.3, 7.0.0.2, 7.0.0.1, 7.0, 6.1, 6.0.2, 6.0

Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere Business Monitor

Software version:

6.1, 6.1.1, 6.1.2, 6.2, 6.2.0.1, 6.2.0.2, 6.2.0.3, 7.0, 7.0.0.2, 7.0.0.3, 7.0.0.4, 7.0.0.5, 7.5, 7.5.1

Operating system(s):

AIX, Linux, Solaris, Windows, z/OS

Reference #:

1641963

Modified date:

2013-07-10

Translate my page

Machine Translation

Content navigation