Question

  Asked: Mar 3 2008   7:18 PM GMT
  Asked by: Kclettow


MQGET command getting the same message twice


MQ, MQGET, CICS

We have an instance where there is one message in the MQ Queue. Once MQ detects a message in the queue, it initiates a CICS program. That program will do MQCONN, MQOPEN, an MQGET, which will get the one message, get process the message , do a SYNCpoint, and do another MQGET, to which we receive a 2033, which is expected, we do a MQCLOSE, and then an MQDISC.

Exactly one minute later, MQ detects a message on the queue, and the process is repeated, thus, we have received this message twice because no more messages had been received for MQ to teiger the CICS program again. Once it processes this one, then the message is gone from the queue. All of our MQGETS are set up as destructive reads. There were no programs abends or anything abnormal.

This only occurs a couple of times per day, otherwise, this process works fine.

Our MQ group says that this is an application error, but since they control the trigger of the CICS program, and since we performing the MQGET's with a destructive read, I think that the issue is not application related.

Can someone help ?

Subscribe to Alerts! Get questions and answers delivered to your Inbox.


E-mail me updates on this question



   SUBSCRIBE

hidden modal window

Answer Wiki (Improve, edit or add to this answer)


 RATE THIS ANSWER
0
Click to Vote:
  •   0
  •  0



There are several possibilities here, my experience with MQ is from a Systems Admin perspective on windows administering MQ to get and send messages to/from a SQL server, AS/400, and Unix environment. I'm assuming you're referring to the windows commands, but imagine the logic will apply if not.

Basically, there are only a few possibilities-- without knowing more I'm not sure we can get more precise:

1. The sending program is for some reason sending the message multiple times due to a logic error. Which sounds likely since the message only happens once in a while.
2. The message is being duplicated due to it going in a circle for some reason, again a logic problem. I.E. SQL-> Windows Service ->AS/400 -> UNIX -> SQL
3. The recieving program is "thinking" it pulled the message off, but due to a logic error isn't actually removing the message.
  • AddThis Social Bookmark Button

Browse more Questions and Answers on AS/400 and DataCenter.

Looking for relevant AS/400 Whitepapers? Visit the Search400.com Research Library.


Discuss This Answer


You must be logged-in to discuss a question. Log-in/Register