ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » loose messages after mqget

Post new topic  Reply to topic
 loose messages after mqget « View previous topic :: View next topic » 
Author Message
giuly020277
PostPosted: Fri Sep 19, 2008 3:06 am    Post subject: loose messages after mqget Reply with quote

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
View user's profile Send private message
zpat
PostPosted: Fri Sep 19, 2008 4:24 am    Post subject: Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Fri Sep 19, 2008 4:49 am    Post subject: Reply with quote

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
View user's profile Send private message
giuly020277
PostPosted: Fri Sep 19, 2008 5:28 am    Post subject: Reply with quote

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
View user's profile Send private message
PeterPotkay
PostPosted: Fri Sep 19, 2008 7:21 am    Post subject: Reply with quote

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
View user's profile Send private message
giuly020277
PostPosted: Mon Sep 22, 2008 2:32 am    Post subject: Reply with quote

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
View user's profile Send private message
fjb_saper
PostPosted: Mon Sep 22, 2008 3:05 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Mon Sep 22, 2008 6:59 am    Post subject: Reply with quote

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
View user's profile Send private message
zpat
PostPosted: Mon Sep 22, 2008 7:20 am    Post subject: Reply with quote

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
View user's profile Send private message
bruce2359
PostPosted: Mon Sep 22, 2008 10:37 am    Post subject: Reply with quote

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
View user's profile Send private message
giuly020277
PostPosted: Wed Sep 24, 2008 12:06 am    Post subject: Reply with quote

Centurion

Joined: 07 Aug 2007
Posts: 146
Location: Florence,Italy

yes bruce...
Back to top
View user's profile Send private message
giuly020277
PostPosted: Wed Sep 24, 2008 12:21 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » loose messages after mqget
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.