MQ

MQ

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only
  • 1.  MQ intermittent

    Posted Thu October 19, 2023 03:55 PM

    Hi,

    Please help or suggest what we can do we getting intermittent messages on our MQ and also our client MQ,  

    Background 
    Client user sign on and send a message to our MQ, Client MQ  must send receive a verification code back.

    It seems for them that we send in batch, so they get all the messages at once.   It also seems the response is also in batch.  So, nothing is happening and then all of a sudden, a lot of messages hung on the output count XMIT queue which is our outgoing queue.
    Please see the screen print 

    Queues from our client MQ.
    SATRANS_REF_RESP - The remote queue sends a response/message to SOCPEN that contains the challenge code.  

     SATRANS_STATS_RESP - The remote queue sends a response/message to SOCPEN that contains  transaction status information after the user approves the transaction on the NRP web application.

    Messages will lands in the SATRANS_REF_RESP because of the time waits from application which is 60sec

    The network team says there is nothing wrong on the network. see the screen print below



    ------------------------------
    Ernest itebogeng Matjane
    z/OS and MQ Junior system programmer
    State Information Technology Agency
    Pretoria
    ------------------------------


  • 2.  RE: MQ intermittent

    Posted Thu October 19, 2023 04:47 PM

    Are your applications using sync points? The "batching" you describe would likely be caused by that. Review your application and discover whether you are using the MQPMO_SYNCPOINT option.

    Cheers,

    Morag



    ------------------------------
    Morag Hughson
    MQ Technical Education Specialist
    MQGem Software Limited
    Website: https://www.mqgem.com
    ------------------------------



  • 3.  RE: MQ intermittent

    Posted Fri October 20, 2023 05:35 AM

    Hi Morag,

    Many thanks, No we don't use the MQPMO_SYNCPOINT 

    Regards

    Ernest Matjane



    ------------------------------
    Ernest itebogeng Matjane
    z/OS and MQ Junior system programmer
    State Information Technology Agency
    Pretoria
    ------------------------------



  • 4.  RE: MQ intermittent

    Posted Fri October 20, 2023 06:19 PM

    > No we don't use the MQPMO_SYNCPOINT 

    Is that for the sending or receiving application or both?

    Several thoughts pop into my head. 

    1. Slow local application processing the responses
    2. How do the messages go from SATRANS_STATS_RESP queue to SATRANS_REF_RESP queue?
    3. I would dump out the MQMD PutDateTime of the 38 messages on the SATRANS_REF_RESP queue and correlate that back to the original request message timestamp.
    4. Why are there 170 consumers (getters) on the SATRANS_REF_RESP queue? It seems over kill to me.
    5. Are you monitoring the channel message count over an interval? If so, can you set the monitoring interval to a small value like 5 seconds or less? Did you graph the data? If so, what does it look like?

    Now if you really want to go deep & the sender & responder applications are not using the MQMD Reply-To-Q field then you can easily create an SLA monitoring application. 

    Many years ago, I posted blog item on how to do an SLA application using MQ's COA & COD message feature. I even included both sample sender & responder applications. If you want to read about it, you can find it here (all code is available for download in the blog posting):

    https://www.capitalware.com/rl_blog/?p=4587

    later

    Roger



    ------------------------------
    Roger Lacroix
    CTO
    Capitalware Inc.
    London ON Canada
    https://capitalware.com
    ------------------------------



  • 5.  RE: MQ intermittent

    Posted Sat October 21, 2023 06:39 AM

    Current depth reflects "in tran" MQPUT's but not "in tran" MQGET's.

    Having a currdepth of 38, while having an open input cout of 170 (the number of clients) suggests one of several possibilities:

    1. The messages are part of an incomplete batch being sent over an MQ message channel.
    2. The clients could be polling for messages, rather than sitting in an MQGET with MQGMO_WAIT
    3. The responding application could be batching responses (note the responding APP rather than the requesting app)

    The first case might be caused by a slow network (how big are the response messages), an MQ performance issue at the responding QM, or might indicate the use of BATCHINT on the channel sending the replies.

    The second case would be a "simple" programming error in the client receiving the responses. How does the client receive the responses from both  SATRANS_REF_RESP and SATRANS_STATS_RESP concurrently ?

    The last case is the same as Morag's response, just clarifying that batching at the responding app rather than the requesting app that would cause these symptoms. 

    You should be able to identify if any of the above are occurring by looking at the status of the various MQ objects in more detail. For example the respnse queue status would show you how many of the 38 messages are currently in a transaction (and therefore currently unavailable to MQGET's). The channel status substate should show you if the sending end of the channel on which the response is flowing is waiting on the network, etc etc.



    ------------------------------
    Andrew Hickson
    ------------------------------



  • 6.  RE: MQ intermittent

    Posted Mon November 13, 2023 02:49 PM

    Hi i would like to thank Everyone for all your suggestions after month of investigations we managed to find the root cause of the problem, we found that client application is not consuming the messages in time, because is NOT multi-threaded is A single-threaded which cause the MQ waits.

    kind regards

    Ernest Matjane



    ------------------------------
    Ernest itebogeng Matjane
    z/OS and MQ Junior system programmer
    State Information Technology Agency
    Pretoria
    ------------------------------