Author |
Message
|
Henry |
Posted: Sun Aug 22, 2004 6:17 pm Post subject: |
|
|
Acolyte
Joined: 08 Oct 2003 Posts: 73
|
It seems that a shell script is better than running the programme directly, I totally agree with that.
Anyway, what happens where there are messages in the queue and the trigger have not been fired, and you changes TRIGGER->NOTRIGGER and back to TRIGGER ??
Are you getting a trigger message ??
Yes, I did it. However, no trigger message is put onto the queue. This is one point I want to know why it happened.
are the trigger monitors running on the same machine as the queue manager ??
Absolutely, the trigger monitor is not running on the same machine as the queue manager. It is purely running as a client trigger.
Another thing is there is no network connection broken when this case happened.
Is the CIA.QI queue open for input ?
The CIA.QI queue is open for input.
Is you can have the trigger event before the message is really available.
How can I do it?
how does your program handle the NO_MESSAGE_AVAILABLE condition, is it reporting something or just shutting down quietly ?
The client trigger programme doesn't know there is any msg on the queue since it is running client trigger monitor. The only way is from the application team reports the problem when there is no update on their DB.
Thanks So Much oz1ccg! It wastes a lot of your time on my problem. |
|
Back to top |
|
 |
oz1ccg |
Posted: Sun Aug 22, 2004 9:14 pm Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
It sounds strange
Try stop the trigger monitors and start one new without the & option so you have it in a telnet session to see if anything is send to the terminal.
I did ask for DeadLetter info before... I don't see any clues, so please do a DISPLAY QMGR and do a DIS QL(<deadq_from_DISPLAY_QMGR>)
By the way you're normally never seeing the trigger message, because the triggermonitor consumes it immidiately, all you might see is indications differnt places.
Is there any clues in the error files ??
Just my $0.02  _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
leongor |
Posted: Sun Aug 22, 2004 9:19 pm Post subject: |
|
|
 Master
Joined: 13 May 2002 Posts: 264 Location: Israel
|
Did you define CiaTrigger.class in classpath ?
Check if you have trigger messages in DLQ. _________________ Regards.
Leonid.
IBM Certified MQSeries Specialist. |
|
Back to top |
|
 |
Henry |
Posted: Sun Aug 22, 2004 11:07 pm Post subject: |
|
|
Acolyte
Joined: 08 Oct 2003 Posts: 73
|
I can't stop the trigger monitor and start the new one without &. It is because it is in production.
QMGR
DESCR( ) DEADQ(SYSTEM.DEAD.LETTER.QUEUE)
DEFXMITQ( ) CHADEXIT( )
CLWLEXIT( ) CLWLDATA( )
REPOS( ) REPOSNL( )
SSLKEYR(/var/mqm/qmgrs/MQSP/ssl/key) SSLCRLNL( )
SSLCRYP( ) COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE)
QMNAME(xxxx) CRDATE(2002-10-24)
CRTIME(06.29.01) ALTDATE(2002-10-24)
ALTTIME(06.39.31) QMID(MQSP_2002-10-24_06.29.01)
TRIGINT(300000) MAXHANDS(256)
MAXUMSGS(10000) AUTHOREV(DISABLED)
INHIBTEV(DISABLED) LOCALEV(DISABLED)
REMOTEEV(DISABLED) PERFMEV(DISABLED)
STRSTPEV(ENABLED) CHAD(DISABLED)
CHADEV(DISABLED) CLWLLEN(100)
MAXMSGL(4194304) CCSID(819)
MAXPRTY(9) CMDLEVEL(530)
PLATFORM(UNIX) SYNCPT
DISTL(YES)
DLQ
DESCR(MQSeries default dead queue) PROCESS( )
BOQNAME( ) INITQ( )
TRIGDATA( ) CLUSTER( )
CLUSNL( ) QUEUE(SYSTEM.DEAD.LETTER.QUEUE)
CRDATE(2002-10-24) CRTIME(06.29.02)
ALTDATE(2002-10-24) ALTTIME(06.39.35)
GET(ENABLED) PUT(ENABLED)
DEFPRTY(0) DEFPSIST(NO)
MAXDEPTH(640000) MAXMSGL(4194304)
BOTHRESH(0) SHARE
DEFSOPT(SHARED) HARDENBO
MSGDLVSQ(PRIORITY) RETINTVL(999999999)
USAGE(NORMAL) NOTRIGGER
TRIGTYPE(NONE) TRIGDPTH(1)
TRIGMPRI(0) QDEPTHHI(80)
QDEPTHLO(20) QDPMAXEV(ENABLED)
QDPHIEV(DISABLED) QDPLOEV(DISABLED)
QSVCINT(999999999) QSVCIEV(NONE)
DISTL(NO) DEFTYPE(PREDEFINED)
TYPE(QLOCAL) SCOPE(QMGR)
DEFBIND(OPEN) IPPROCS(0)
OPPROCS(0) CURDEPTH(0)
There is no error file. Also, there is no FDC in the error directory.
However, I can tell you that. I had tried to stop the trigger monitor. Then change the INITQ from trigger -> notrigger. Then change is back from notrigger -> trigger. There is no trigger msg on the INITQ queue. |
|
Back to top |
|
 |
oz1ccg |
Posted: Mon Aug 23, 2004 4:31 am Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
This is great
Quote: |
I can't stop the trigger monitor and start the new one without &. It is because it is in production.
QMGR |
It's pretty easy to circumvent this issue: Just create a new INITQ, and start the trigger monitor aginst this queue, and change the INITQ() property of the input queue
well, well, how does it work in your test environment ?? (perfect working ofcause)
Are you running with different version/CSD of MQ in test and production ??
Just my $0.02  _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Aug 23, 2004 6:07 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7723
|
Quote: |
Then change the INITQ from trigger -> notrigger. Then change is back from notrigger -> trigger. There is no trigger msg on the INITQ queue.
|
The INIT queue should NOT be triggered. Leave the INIT queue's trigger parameter off. The application queue is triggered, not the INIT queue. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
Henry |
Posted: Mon Aug 23, 2004 6:52 pm Post subject: |
|
|
Acolyte
Joined: 08 Oct 2003 Posts: 73
|
Sorry for my typo error .. the initQ should be the Local queue.
I can't simulate the problem in the testing environment. I never see this case happened in the testing environment.
The same CSD is using in the production and testing environment. |
|
Back to top |
|
 |
oz1ccg |
Posted: Mon Aug 23, 2004 10:36 pm Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
What CSD level ?
Is there actually any messages in the queue ??
what happens if you browse the content of the queue ??
well you might reach a service point where you can take the box down and up again planned ?
Another approach is contact you IBM office and open a PMR on the issue.
Just my $0.02  _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
Henry |
Posted: Mon Aug 23, 2004 11:01 pm Post subject: |
|
|
Acolyte
Joined: 08 Oct 2003 Posts: 73
|
[quote="oz1ccg"]Personally I'm using shell scripts to be invoked instead of executing the program directly. This is also giving me the opertunity to see what happens (echo something to a logfile).
Anyway, what happens where there are messages in the queue and the trigger have not been fired, and you changes TRIGGER->NOTRIGGER and back to TRIGGER ??
Are you getting a trigger message ??
No Trigger message
I have to ask once more (to be shure ) , are the trigger monitors running on the same machine as the queue manager ?? If your trigger monitor is using a mq-client connection, and the connection gets broken, the trigger monitor might not know and your queuemanager might know and the CIA.QI might not be opend for input. ....
Sure that the trigger monitor is running on different machine and using client trigger. The network connection is fine. After this case happened (no trigger msg), I had tried to stop and restart the trigger monitor but still no trigger.
Another thing to examine: Is the CIA.QI queue open for input ?
The CIA.QI is open for input.
Another thing about triggering is that you can have the trigger event before the message is really available, this can cause your program to start, try getting and close before the message is released....
I spend about a month some years back tracing this phenomen, me and my colleagues had some discustions about how this was working/should work etc. But it worked as designed (and documented).
Since it is running as a background process, the trigger event can't be seen.
So how does your program handle the NO_MESSAGE_AVAILABLE condition, is it reporting something or just shutting down quietly ?
there is no action for the programme. the case will be reported when the application DB is not updated. |
|
Back to top |
|
 |
|