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 » Report on how many times trigger is on

Post new topic  Reply to topic Goto page 1, 2  Next
 Report on how many times trigger is on « View previous topic :: View next topic » 
Author Message
giuly020277
PostPosted: Wed Jul 30, 2008 11:23 pm    Post subject: Report on how many times trigger is on Reply with quote

Centurion

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

Hello everyone,
i need your help.

I have mq v. 6.0 on Z/OS.
I have a queue with trigger (type first).when a message come on queue trigger let start a process who start a transaction on CICS.

I would like to compare how many times trigger let starts transaction with number of transaction .

How can i do it?i don't know where to find how many time trigger is on....

Ciao

Giuliano
Back to top
View user's profile Send private message
giuly020277
PostPosted: Wed Jul 30, 2008 11:43 pm    Post subject: Reply with quote

Centurion

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

i want to add something to make it more clear ( i hope).




when a message come on queue....trigger let start transaction called DALL and/or DALS.

i have done some reports on Mq and on Transaction count ;
here they are :

number of GET CKTI = 441230
number of GET DALL = 932
number of GET DALS = 5525
____________________________

number of tot GET = 447687


if i do a report on transaction count i found :

number of DALL+DALS transaction = 441230



my problem is this: sometimes starts thousand of DALL and DALS who do nothing....(they don't update database and do nothing I/O) who block my CICS.
I suppose there is an error on program of transaction who cause a loop but i don't know how to find it.
Back to top
View user's profile Send private message
sami.stormrage
PostPosted: Thu Jul 31, 2008 12:17 am    Post subject: Reply with quote

Disciple

Joined: 25 Jun 2008
Posts: 186
Location: Bangalore/Singapore

And what is the type of trigger set on the Q? (first or every?)
_________________
*forgetting everything *
Back to top
View user's profile Send private message Yahoo Messenger
giuly020277
PostPosted: Thu Jul 31, 2008 12:19 am    Post subject: Reply with quote

Centurion

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

IT IS TYPE=FIRST
Back to top
View user's profile Send private message
sami.stormrage
PostPosted: Thu Jul 31, 2008 12:54 am    Post subject: Reply with quote

Disciple

Joined: 25 Jun 2008
Posts: 186
Location: Bangalore/Singapore

And its a parellel sysplex environment?

Well I would go by this assumption and this is the sort of thing that would happen when you use trigtype FIRST. applications will be started on each and every Qmgr on the sysplex. Now, the number of apps started is justified if more messages arrive on the Q after the trigger, or else u have the problem of multiple applications starting and doing nothing. That is Y a trigtype EVERY is recommended. Where the app Qmgr nominates a single Qmgr in the sysplex to put a trigger message and the number of apps started now depends on whether the InitQ is a shared or private Q.

And that explains the problem of discrepancy b/w total GET's and Tranactions started.
_________________
*forgetting everything *
Back to top
View user's profile Send private message Yahoo Messenger
giuly020277
PostPosted: Thu Jul 31, 2008 1:05 am    Post subject: Reply with quote

Centurion

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

no..we have two partitions...but they are in MAS. Cics and MQ run only on one LPAR.
Back to top
View user's profile Send private message
sami.stormrage
PostPosted: Thu Jul 31, 2008 2:03 am    Post subject: Reply with quote

Disciple

Joined: 25 Jun 2008
Posts: 186
Location: Bangalore/Singapore

Try setting the TRIGINT to a higher value, checking the exact time it takes for ur transaction to start whenever a message arrives on ur Q. Or just use trial and error method.
_________________
*forgetting everything *
Back to top
View user's profile Send private message Yahoo Messenger
giuly020277
PostPosted: Thu Jul 31, 2008 2:57 am    Post subject: Reply with quote

Centurion

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

I HAVE CHECKED MY PARAMETERS:

I HAVE TRIGINT SET TO 999999999.

MAYBE I HAVE TO SET IT TO A LOWER VALUE?
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Thu Jul 31, 2008 3:26 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

no. if you set trigint to a very low value you have something like a trigger every, even if you defined trigger first. using triging at a "serious" value, you can create another trigger message after the specified interval, if all other trigger conditions met. this can be useful in case the trigger monitor had a problem with starting the transacition (so the trigger message has been consumed but no tx started,)

you said that sometimes you get thousends of transactions, but it looks like they dont do any serious work? when this happens, are there messages on the queue?
with trigger first, another trigger messages is created when the last process, that has the queue open for input, closes the queue and leaves it non empty. lets assume, your transaction is triggerd, opens the queue, and then - for whatever reason - is not able to get the messages and closes the queue. Then you will get another trigger message created by mqseries because the queue has been left non empty. the transaction starts again, opens the queue, gets the same problem, closes the queue and so on.
did you investigate this possibility already?
_________________
Regards, Butcher
Back to top
View user's profile Send private message
giuly020277
PostPosted: Thu Jul 31, 2008 4:18 am    Post subject: Reply with quote

Centurion

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

I agree with u Mr Butcher...
in my opinion transaction is not able to get message (for some impredicable reason..) or maybe message who come on queue is in a unsual format. i don't know.
now we will write on a db2 table all operation transaction do..:open, get , close ...so we will sure on what transaction do exactly.

i have to make trigint to the existing value ? 999999999?

i will let u know...
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Thu Jul 31, 2008 4:26 am    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

tweaking trigint will not help you with your 1000 transactions - issue. if you set it e.g. to 60000 milliseconds, you will get another trigger message every 60 seconds if the queue is not empty and the trigger conditions are met...... its up toyou to use that feature or not....
_________________
Regards, Butcher
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Thu Jul 31, 2008 5:15 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Are any of the transactions rolling back?

You say that they 'do nothing' but are they actually failing?

Is this something that just started happening ?
Back to top
View user's profile Send private message
sami.stormrage
PostPosted: Thu Jul 31, 2008 5:26 am    Post subject: Reply with quote

Disciple

Joined: 25 Jun 2008
Posts: 186
Location: Bangalore/Singapore

Yeah.. message stuck on the Input Q can trigger multiple transactions with a single message arriving. So only way it gets cleared is after some manual intervention or if expiry is set. So check with ur entire team, if anyone had cleared a poison message from the Q. Apart from this I cannot think of another reason for the mismatch in the number of transactions.
_________________
*forgetting everything *
Back to top
View user's profile Send private message Yahoo Messenger
bruce2359
PostPosted: Thu Jul 31, 2008 11:51 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9470
Location: US: west coast, almost. Otherwise, enroute.

Quote:
...when a message come on queue trigger let start transaction called DALL and/or DALS.

Please tell me about the transactions (application programs)?

Do the DALL and DALS transactions run from a terminal type device as well as from a triggered queue? (thinking 3270 bridge).

Are they MQ-aware? That is, do they issue MQGET calls? If so, does the program only get one message, then end? Or does it MQGET another message if another message arrives in the application queue?

What do the application messages look like? Do they include an MQCIH (CICS information Header)?

Does the application expect the application data from the application queue message to be passed as a COMMAREA? (DPL bridge.)

Is the CKTI instance the only CKTI instance in your CICS region?

Quote:
i have done some reports on Mq and on Transaction count

How did you do these reports? Where did these numbers come from?

Please post the application queue definition.

Please post the process definition.

Please post the initiation queue definition.
_________________
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: Tue Aug 05, 2008 2:07 am    Post subject: Reply with quote

Centurion

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

hello bruce...
transaction starts from CICS subsystem...and the CKTI is the only istance in my CICS region.
Transaction DALL e DALS issue MQGET for all messages in the application queue . program get all messages that are arriving on queue.

i got reports from Tivoli Decision Support....who get reports from record SMF.

Initation queue definition :

QLOCAL('CXFD9P.INITQ')
QSGDISP(QMGR)
STGCLASS('SYSTEM')
CFSTRUCT(' ')
CLUSTER(' ')
CLUSNL(' ')
DESCR('CKTI initiation queue')
PUT(ENABLED)
DEFPRTY(5)
DEFPSIST(YES)
MAXDEPTH(100)
PROCESS(' ')
NOTRIGGER
MAXMSGL(1000)
BOTHRESH(0)
BOQNAME(' ')
INITQ(' ')
USAGE(NORMAL)
SHARE
DEFSOPT(EXCL)
MSGDLVSQ(FIFO)
RETINTVL(999999999)
TRIGTYPE(NONE)
TRIGDPTH(1)
TRIGMPRI(0)
TRIGDATA(' ')
NOHARDENBO
GET(ENABLED)
QDEPTHHI(80)
QDEPTHLO(40)
QDPMAXEV(ENABLED)
QDPHIEV(DISABLED)
QDPLOEV(DISABLED)
QSVCINT(999999999)
QSVCIEV(NONE)
INDXTYPE(NONE)
ACCTQ(QMGR)
MONQ(QMGR)
DEFBIND(OPEN)
CLWLRANK(0)
CLWLPRTY(0)
CLWLUSEQ(QMGR)

process definition :

DEFINE NOREPLACE
PROCESS('IBM.PRA_STUD_DALS.TELEM.DALS')
QSGDISP(QMGR)
DESCR('Processo per allocazioni pratiche da studiare')
APPLTYPE(CICS)
APPLICID('DALS')
USERDATA(' ')
ENVRDATA(' ')

application queue definition

QLOCAL('IBM.PRA_STUD_DALS.TELEM')
QSGDISP(QMGR)
STGCLASS('STGPRSTU')
CFSTRUCT(' ')
CLUSTER(' ')
CLUSNL(' ')
DESCR('Coda per allocazione pratiche da studiare')
PUT(ENABLED)
DEFPRTY(0)
DEFPSIST(YES)
MAXDEPTH(999999999)
PROCESS('IBM.PRA_STUD_DALS.TELEM.DALS')
TRIGGER
MAXMSGL(4194304)
BOTHRESH(3)
BOQNAME('IBM.SCARTI_PRA_STUD_DALS.TELEM')
INITQ('CXFD9P.INITQ')
USAGE(NORMAL)
SHARE
DEFSOPT(SHARED)
MSGDLVSQ(PRIORITY)
RETINTVL(999999999)
TRIGTYPE(FIRST)
TRIGDPTH(1)
TRIGMPRI(0)
TRIGDATA(' ')
HARDENBO
GET(ENABLED)
QDEPTHHI(3)
QDEPTHLO(40)
QDPMAXEV(ENABLED)
QDPHIEV(ENABLED)
QDPLOEV(DISABLED)
QSVCINT(999999999)
QSVCIEV(NONE)
INDXTYPE(NONE)
ACCTQ(QMGR)
MONQ(QMGR)
DEFBIND(OPEN)
CLWLRANK(0)
CLWLPRTY(0)
CLWLUSEQ(QMGR)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » Report on how many times trigger is on
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.