Checking that the channel is moving messages

If you have a problem with a transmission queue, check that the channel is moving messages

Before you begin

Issue the command DIS CHSTATUS(QM1.TO.QM2) ALL. If the value of the STATUS field is RUNNING, the channel has successfully connected to the partner system.

Check that there are no uncommitted messages on the transmission queue, as described in Checking that messages on the queue are available.

About this task

If there are messages available for the channel to get and send, perform the following checks:

Procedure

  1. In the output from the display channel status command, DIS CHSTATUS(QM1.TO.QM2) ALL, look at the following fields:
    MSGS
    Number of messages sent or received (or, for server-connection channels, the number of MQI calls handled) during this session (since the channel was started).
    BUFSSENT
    Number of transmission buffers sent. This includes transmissions to send control information only.
    BYTSSENT
    Number of bytes sent during this session (since the channel was started). This includes control information sent by the message channel agent.
    LSTMSGDA
    Date when the last message was sent or MQI call was handled, see LSTMSGTI.
    LSTMSGTI
    Time when the last message was sent or MQI call was handled. For a sender or server, this is the time the last message (the last part of it if it was split) was sent. For a requester or receiver, it is the time the last message was put to its target queue. For a server-connection channel, it is the time when the last MQI call completed.
    CURMSGS
    For a sending channel, this is the number of messages that have been sent in the current batch. For a receiving channel, it is the number of messages that have been received in the current batch. The value is reset to zero, for both sending and receiving channels, when the batch is committed.
    STATUS
    The status of the channel, which can be Starting, Binding, Initializing, Running, Stopping, Retrying, Paused, Stopped, or Requesting.
    SUBSTATE
    The action that the channel is currently performing.
    INDOUBT
    Whether the channel is currently in doubt. This is only YES while the sending Message Channel Agent is waiting for an acknowledgment that a batch of messages that it has sent has been successfully received. It is NO at all other times, including the period during which messages are being sent, but before an acknowledgment has been requested. For a receiving channel, the value is always NO.
  2. Determine whether the channel has sent any messages since it started. If any have been sent, determine when the last message was sent.
  3. The channel might have started a batch that has not yet completed, as indicated by a non-zero value in CURMSGS. If INDOUBT is YES, the channel is waiting to receive acknowledgment that the other end of the channel received the batch. Look at the SUBSTATE field in the output and refer to Table 1:
    Table 1. Sender and receiver MCA substates
    Sender SUBSTATE Receiver SUBSTATE Notes
    MQGET RECEIVE Normal states of a channel at rest.
    SEND RECEIVE SEND is usually a transitory state. If SEND is seen it indicates that the communication protocol buffers have filled. This can indicate a network problem.
    RECEIVE   If the sender is seen in RECEIVE substate for any length of time, it is waiting on a response, either to a batch completion or a heartbeat. You might want to check why a batch takes a long time to complete.
    Note: You might also want to determine whether the channel can process messages fast enough, especially if the channel has a substate associated with exit processing.