Author |
Message
|
giuly020277 |
Posted: Fri Sep 19, 2008 3:06 am Post subject: loose messages after mqget |
|
|
 Centurion
Joined: 07 Aug 2007 Posts: 146 Location: Florence,Italy
|
Hello everyone,
i need your help.
I have MQ on Z/OS (v.6).
I have an application that put some messages on a local queue. This queue is triggered with trigger = First.
When trigger is ON a CICS process start a transaction who have to update some database (Db2 e DL1).
Last night it happen then DL1 was offline.... Then a message come on my queue...trigger was ON then transaction start. It got messages and tried to update my database. These database were offline...so trasaction got abend.
transaction didn't put message on queue again...so i loose them.
What can i suggest to programmers to do on their programs because of this ?
I'm not a programmer but i think they should be sure "their" transaction update all database before close queue...is true?
What do u think?
Thank u all
Giuliano |
|
Back to top |
|
 |
zpat |
Posted: Fri Sep 19, 2008 4:24 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Messages should be removed from the queue with SYNCPOINT so that if the CICS transaction abends they will be rolled back. This is actually the default behaviour under z/OS.
Are you sure this didn't happen - have you checked the DLQ? |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Sep 19, 2008 4:49 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Maybe they specifically coded syncpoint = No
Or, the message did get rolled back, but was non persistent and the QM has since been restarted.
Or, the message did get rolled back, but the message had a small Expiry value and has expired.
Or, the message did get rolled back, but another app consumed it. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
giuly020277 |
Posted: Fri Sep 19, 2008 5:28 am Post subject: |
|
|
 Centurion
Joined: 07 Aug 2007 Posts: 146 Location: Florence,Italy
|
messages are all persisten...with expiry=illimited .... mq is on from 13 august...and no other app consumed messages.....so??
Programmers told me that in program they don't do COMMIT....
i need a good programmer  |
|
Back to top |
|
 |
PeterPotkay |
Posted: Fri Sep 19, 2008 7:21 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
PeterPotkay wrote: |
Maybe they specifically coded syncpoint = No
|
_________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
giuly020277 |
Posted: Mon Sep 22, 2008 2:32 am Post subject: |
|
|
 Centurion
Joined: 07 Aug 2007 Posts: 146 Location: Florence,Italy
|
Yes Peter...u are right.
After discussing with programmers i have understand they have no syncpoint because "they say that syncpoint close PSB".
They need syncpoint in order not to loose messages is true?
When they should insert syncpiont? after mqget?
can u suggest me please a model for program? for example :
open- get-syncpoint- put- close (something like this)
Thank u |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Sep 22, 2008 3:05 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
SYNCPOINT is one of the GMO options on the GET, IIRC. Our programers have some check for DB2 availability and put the messages on a BO queue specified in the trigger data if there is a problem.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Sep 22, 2008 6:59 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Your application developers need to brush up on UofW's, CICS syncpoints, and RRS (Resource Recovery Services or Recoverable Resource Services, or ...). RRS is the address space(s) devoted to coordinating (being the transaction-level manager) of UofW's.
RRS offers API calls SRRCMIT or SRRBACK to comit or backout the transaction in its entirely (CICS, MQ, DB2, DL1, whatever). You and your application programmers need to visit with your systems programmers to ensure they've done whatever RRS things need to be done for all of this to work. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
zpat |
Posted: Mon Sep 22, 2008 7:20 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Just code MQGMO_SYNCPOINT on the MQGET options (MQGMO) and MQPMO_SYNCPOINT on the MQPUT options (MQPMO) and MQ will join in the CICS unit of work automatically. |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Sep 22, 2008 10:37 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
After discussing with programmers i have understand they have no syncpoint because "they say that syncpoint close PSB". |
So, the IMS application seems to be the one driving the comit/backout.
Quote: |
They need syncpoint in order not to loose messages is true? |
Not exactly. IF the message is to be considered as part of the larger UofW, then the get should be in a UofW.
Quote: |
When they should insert syncpiont? after mqget?
can u suggest me please a model for program? for example:
open- get-syncpoint- put- close (something like this) |
A syncpoint is a comit or backout call - a point of synchronization, a completion of a unit of work. If the MQGET calls are to be part of the bigger UofW, then MQGMO_SYNCPOINT should be specified to include this get of a message in the UofW.
Some application is still responsible for driving the comit or backout process.
From your original post, the big UofW consists of MQ resources, CICS resources, DB2 resources, and IMS/DL1 resources. Are all these part of the big UofW? _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
giuly020277 |
Posted: Wed Sep 24, 2008 12:06 am Post subject: |
|
|
 Centurion
Joined: 07 Aug 2007 Posts: 146 Location: Florence,Italy
|
|
Back to top |
|
 |
giuly020277 |
Posted: Wed Sep 24, 2008 12:21 am Post subject: |
|
|
 Centurion
Joined: 07 Aug 2007 Posts: 146 Location: Florence,Italy
|
i will suggest my programmers to follow an application MQ course
i will tell them to use syncpoint
Thank u all
Ciao |
|
Back to top |
|
 |
|