Author |
Message
|
huebi |
Posted: Wed Jul 17, 2002 2:51 am Post subject: CURDEPTH=1,but no messages are available |
|
|
Novice
Joined: 01 Jul 2001 Posts: 16
|
Hi,
runmqsc with dis ql(qname) shows me a curdepth(1), but when i try to read it or browse it, i always get a no more maessages available. Of course, i did not specify a msgid od corrid to get it.
MQExplorer shows me the same, curdepth(1), but the list "browse messages" is empty. How can i fix that?
clear ql(qname) fails because object is in use. But there is no application accessing this q.
cu
Huebi |
|
Back to top |
|
 |
mrlinux |
Posted: Wed Jul 17, 2002 3:33 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
What you have is an uncommited message, the current depth will report
uncommited message in the count but you wont be able to view them until they are commited. I have seen uncommited message hang around until a queue manager restart. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
huebi |
Posted: Wed Jul 17, 2002 3:43 am Post subject: |
|
|
Novice
Joined: 01 Jul 2001 Posts: 16
|
Do you mean a "stop qmgr mode(restart)"?
cu
huebi |
|
Back to top |
|
 |
mrlinux |
Posted: Wed Jul 17, 2002 3:47 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
Yes that is one way to get rid of it, but It doesnt hurt to leave it in there
unless you are monitoring the queue depth and generating some form of alert. This assumes this is a production queue manager. _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
nimconsult |
Posted: Wed Jul 17, 2002 4:31 am Post subject: |
|
|
 Master
Joined: 22 May 2002 Posts: 268 Location: NIMCONSULT - Belgium
|
Mrlinux is right in saying that it is most certainly an uncomitted message hanging on the queue.
Normally if you look the number of open handles on the queue (in MQ Series explorer open the queue properties and see the "open input count" and "open output count" in the "statistics"), at least one should be greater than zero. This means that there is a pending handle on the queue. This is also the reason why you cannot clean the queue ("object in use").
The problem typically happens when applications do not close their object handles smoothly, either because they died abruptly, or they were badly coded (they do not issue a proper MQCLOSE and MQDISC). _________________ Nicolas Maréchal
Senior Architect - Partner
NIMCONSULT Software Architecture Services (Belgium)
http://www.nimconsult.be |
|
Back to top |
|
 |
bduncan |
Posted: Wed Jul 17, 2002 6:54 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Yes, you should try to determine what application has the queue open (this must be the case, since you can't issue a clear command), and determine why that application has done a put or get under syncpoint and not committed... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
oz1ccg |
Posted: Wed Jul 17, 2002 2:11 pm Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
Hi,
The reason why there are one displayed, and you can't get might be because it's expired.
Due to the implementation of expire function those messages are acturly first deleted when you issue a MQGET and COMMIT the work.
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 |
|
 |
bduncan |
Posted: Wed Jul 17, 2002 2:32 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
I don't think the MQCMIT is necessary to clear out expired messages, because expired messages will get cleared out of a queue even when you are only doing a browse with your MQGET... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
oz1ccg |
Posted: Sat Jul 20, 2002 1:22 am Post subject: |
|
|
 Yatiri
Joined: 10 Feb 2002 Posts: 628 Location: Denmark
|
Well,
I'm not quite shure that they are deleted when browsing, there must be a destructive MQGET... But it's the picture I'm seeing when browsing a empty queue with CURRDEPTH > 0.
I'll test it when my summerholliday is over and I get back to my QueueManagers..
Just my tiny bit  _________________ Regards, Jørgen
Home of BlockIP2, the last free MQ Security exit ver. 3.00
Cert. on WMQ, WBIMB, SWIFT. |
|
Back to top |
|
 |
bduncan |
Posted: Sun Jul 21, 2002 6:06 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
As soon as I read "destructive get", it seemed to jog my memory, and now I realize that you're probably right on this one. The browse alone won't delete the expired messages, however, I'm still not sure if the commit is necessary... But I'll have to test that out at some point to confirm it... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
mrlinux |
Posted: Sun Jul 21, 2002 11:07 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
I dont think the destructive get is required, using Qpasa to browse queue removed expired messages _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
GMcCarthy |
Posted: Fri Jul 26, 2002 5:29 am Post subject: |
|
|
 Centurion
Joined: 06 Nov 2001 Posts: 113 Location: Melville NY
|
MQGET with browse or no browse will remove an expired message from a queue. I use PATROL to browse my expired messages and they get removed. _________________ Regards,
Gina
IBM Certified MQSeries Specialist |
|
Back to top |
|
 |
|