Topic
  • 8 replies
  • Latest Post - ‏2012-11-30T11:45:32Z by SystemAdmin
anthcorr
anthcorr
20 Posts

Pinned topic MQSeries adapter - refresh list of messages in a queue

‏2010-12-22T10:22:22Z |
Hi,

I'm facing to an issue with the MQ Series adapter. Sometimes, some of my systems are missing some of the messages that are picked up from a MQSeries queue.
I checked all the logs and there is no trace of failure, just like if the adapter did not see the message.

I would like to know if there is a setting to force the adapter to refresh the list of the messages in a MQSeries queue. I found the setting REFRESH but it's only related to the priority of the messages.

Does anyone of you already encoutered this issue or know how to solve my problem?

Thank you.

-Anthony
Updated on 2012-11-30T11:45:32Z at 2012-11-30T11:45:32Z by SystemAdmin
  • TarunB
    TarunB
    211 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2010-12-22T11:37:31Z  
    -REFRESH would appear to be the command you need to try. I've seen similar situations where, for whatever reason, messages become stuck on queues and do not trigger the TX system. REFRESH can be used without Priority in mind. It simply resets the pointer back to the start of the queue after each trigger, so that any messages skipped earlier are now picked up.

    Personally I have needed to use this command when multiple applications Put to the same queue.
  • anthcorr
    anthcorr
    20 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-04T14:43:08Z  
    • TarunB
    • ‏2010-12-22T11:37:31Z
    -REFRESH would appear to be the command you need to try. I've seen similar situations where, for whatever reason, messages become stuck on queues and do not trigger the TX system. REFRESH can be used without Priority in mind. It simply resets the pointer back to the start of the queue after each trigger, so that any messages skipped earlier are now picked up.

    Personally I have needed to use this command when multiple applications Put to the same queue.
    I used the -REFRESH settings as below:

    -QMN QMName -QN QueueName -REFRESH 600 -HDR -CVT

    The problem is that I can not reproduce the issue because I do not know how to do, it's very rare. So I tried the REFRESH setting by putting a invalid formatted message in to the queue, hoping it will be rejected and rejected again every 600sec by the system.

    If you confirm that the REFRESH setting is working, maybe it works only with non-erroneous messages.
  • paul.brett
    paul.brett
    509 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-05T11:10:22Z  
    If you're going to use -REFRESH, it is also recommended to use the -EQN option as well to deal with erroneous messages.

    Also, 600 seems a bit high. Could you try a lower value? Do you have an IdleMQS values set?
  • TarunB
    TarunB
    211 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-05T11:18:52Z  
    • anthcorr
    • ‏2011-01-04T14:43:08Z
    I used the -REFRESH settings as below:

    -QMN QMName -QN QueueName -REFRESH 600 -HDR -CVT

    The problem is that I can not reproduce the issue because I do not know how to do, it's very rare. So I tried the REFRESH setting by putting a invalid formatted message in to the queue, hoping it will be rejected and rejected again every 600sec by the system.

    If you confirm that the REFRESH setting is working, maybe it works only with non-erroneous messages.
    I believe that messages, once processed by the Event Server / MQ adapter, are not processed again unless the system is restarted. So in your situation, an alert will be raised only once, unless of course you restart the system.

    With -REFRESH, it's also not recommended to rollback failed messages to the same queue. You should instead use the -EQN command to rollback failed messages onto an Error Queue. This is actually quite useful in that you can design a system to specifically manage erroneous data.
  • anthcorr
    anthcorr
    20 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-20T13:32:30Z  
    • TarunB
    • ‏2011-01-05T11:18:52Z
    I believe that messages, once processed by the Event Server / MQ adapter, are not processed again unless the system is restarted. So in your situation, an alert will be raised only once, unless of course you restart the system.

    With -REFRESH, it's also not recommended to rollback failed messages to the same queue. You should instead use the -EQN command to rollback failed messages onto an Error Queue. This is actually quite useful in that you can design a system to specifically manage erroneous data.
    Thank you for the answers.

    Unfortunately, we can not use the REFRESH setting without disabling the rollback setting.
    Maybe it will work using the EQN setting, but it implies a lot of changes in the concerned interfaces.

    I'm going to contact helpdesk first to be sure that they do not have a fix for this issue.

    I'll inform you about the solution they found.
  • TarunB
    TarunB
    211 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-20T16:39:06Z  
    • anthcorr
    • ‏2011-01-20T13:32:30Z
    Thank you for the answers.

    Unfortunately, we can not use the REFRESH setting without disabling the rollback setting.
    Maybe it will work using the EQN setting, but it implies a lot of changes in the concerned interfaces.

    I'm going to contact helpdesk first to be sure that they do not have a fix for this issue.

    I'll inform you about the solution they found.
    If you're worried about messages being left on the queue, set up a simple script to restart your TX system overnight. You can also set up a script to check the queue depth every so often and alert (for example by email or by logging into a monitoring tool like TNG) if there is a message on the queue for a long time.
  • TimUK
    TimUK
    60 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2011-01-21T14:29:14Z  
    • anthcorr
    • ‏2011-01-20T13:32:30Z
    Thank you for the answers.

    Unfortunately, we can not use the REFRESH setting without disabling the rollback setting.
    Maybe it will work using the EQN setting, but it implies a lot of changes in the concerned interfaces.

    I'm going to contact helpdesk first to be sure that they do not have a fix for this issue.

    I'll inform you about the solution they found.
    It may be different in your setup but we use rollback and -eqn on all of our MQ triggers (500+ maps).
    We apply -refresh only to those that are reading queues which receive from multiple sources. That amounts to a small handful.

    We found the documentation and guidance a little ambiguous but this approach has servered us well for >5 years. No issues. Win 2000, WTX 6, 7, 8.

    Tim
  • SystemAdmin
    SystemAdmin
    6184 Posts

    Re: MQSeries adapter - refresh list of messages in a queue

    ‏2012-11-30T11:45:32Z  
    Hi Anthony,
    I am also facing the same problem of ,sometimes the MQSC adapter is failing to read the message in the Inbound Queue and the map behaves like as if there is no message in the Queue. Could you let me know what the Help Desk replied for this Issue. This is Driving me Crazy