Author |
Message
|
suresh_shahukaru |
Posted: Wed Jul 19, 2006 10:16 am Post subject: Message not getting rolled back |
|
|
Novice
Joined: 22 Apr 2006 Posts: 17
|
Hi,
We are working on MQ-DB2-PL/1 program. If the program abends after an MQGET due to DB2 load failure or some bind timestamp error or some other problem.... the message is not getting reverted back to the MQ and we are loosing the message.
In the program, the MQCMIT is coded only after all the DB2 load is successful.
The program is run by an OPC job and the job is triggered by an initiation queue when a priority 9 message arrives in the queue.
Any thoughts why the message is not getting rolled back to the queue?
We have a MQ-IMS-PL/I program which if abends reverts back the message properly. |
|
Back to top |
|
 |
bob_buxton |
Posted: Wed Jul 19, 2006 12:32 pm Post subject: |
|
|
 Master
Joined: 23 Aug 2001 Posts: 266 Location: England
|
Are you linking your program with the RRS stub so that you get 2phase commit with DB2.
Did you remember to specify MQGMO_SYNCPOINT _________________ Bob Buxton
Ex-Websphere MQ Development |
|
Back to top |
|
 |
suresh_shahukaru |
Posted: Wed Jul 19, 2006 9:11 pm Post subject: |
|
|
Novice
Joined: 22 Apr 2006 Posts: 17
|
I linked with CSQBSTUB. Do I need to use a different STUB. Please advise. |
|
Back to top |
|
 |
suresh_shahukaru |
Posted: Wed Jul 19, 2006 11:00 pm Post subject: |
|
|
Novice
Joined: 22 Apr 2006 Posts: 17
|
Tried using CSQBRRSI and message didnt get rolled back in case of abend. Any other suggestions.
Do I need to catch the abend and issue MQBACK call? |
|
Back to top |
|
 |
wschutz |
Posted: Thu Jul 20, 2006 1:36 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
bob_buxton wrote: |
Did you remember to specify MQGMO_SYNCPOINT |
Can you confrm that MQGMO_NO_SYNCPOINT has NOT been coded?
If you got the message under syncpoint, and either the program abends or you rolll-back the work (via MQBACK or SRRBACK), then the message will be "returned" to the input queue. _________________ -wayne |
|
Back to top |
|
 |
suresh_shahukaru |
Posted: Thu Jul 20, 2006 3:20 am Post subject: |
|
|
Novice
Joined: 22 Apr 2006 Posts: 17
|
I used:
GETMSGOPTS = MQGMO_NO_WAIT +
MQGMO_SYNCPOINT +
MQGMO_FAIL_IF_QUIESCING; |
|
Back to top |
|
 |
suresh_shahukaru |
Posted: Sat Jul 22, 2006 6:07 am Post subject: |
|
|
Novice
Joined: 22 Apr 2006 Posts: 17
|
In the program error block, there is a STOP statement which is stopping the message from getting rolled back to the queue. Removed STOP statement and the message is getting rolled back to the queue properly in the case of any abends. It is working with the stub CSQBSTUB
Thanks. |
|
Back to top |
|
 |
|