Author |
Message
|
shashivarungupta |
Posted: Mon Jun 22, 2009 9:50 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Vitor wrote: |
shashivarungupta wrote: |
Until we hit 'Refresh' we can see all those messages ( Messages with Expiry and Messages without Expiry ).
|
Yes.
But what's your point? MQExplorer's a really cumbersome way of monitoring queue depths.
But that's off topic. I think we're all agreed on the situation per pro expired messages. |
I also agree with the posts on pre pro expired messages and functions that all we discussed about.
Yes, Its a bit cumbersome to monitor the queues using mq explorer until we right some script or use some monitoring tool for that. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jun 22, 2009 11:44 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
Yes, Its a bit cumbersome to monitor the queues using mq explorer until we right some script or use some monitoring tool for that. |
Or buy a monitoring solution. Or use a support pac. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
MQEnthu |
Posted: Wed Jun 24, 2009 3:02 am Post subject: |
|
|
 Partisan
Joined: 06 Oct 2008 Posts: 329 Location: India
|
bruce2359 wrote: |
Other than lack of documentation on the scavenger, what is your concern? What problem/symptom have you experienced? |
As I said earlier in my post, I was just thinking if scavenger process exist the expired messages should be deleted by it (even though no MQGet is issued on the queue). If this is the case, from V6.0.2.5 onwards expired messages should not pile up in the queue (considering queue is not browsed) and should not cause the queue to be full...(as the scavenger process discards the expired message) _________________ -----------------------------------------------
It is good to remember the past,
but don't let past capture your future |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jun 24, 2009 3:20 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
MQEnthu wrote: |
I was just thinking if scavenger process exist |
What makes you continue to doubt that it does?
MQEnthu wrote: |
If this is the case, from V6.0.2.5 onwards expired messages should not pile up in the queue (considering queue is not browsed) and should not cause the queue to be full...(as the scavenger process discards the expired message) |
No. Messages will continue to pile up. At some point (assuming the queue is not read) the queue manager will delete them. There's no way to predict this.
There is (as I've said before) also no guarantee that the queue manager will respond to the delivery of a new message by deleting expired messages off the queue to make room . It might. It might not. It's certainly no guarantee the queue won't fill up. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jun 24, 2009 5:27 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
In summary:
The scavenger application will be executed to clean up expired messages. Exactly when this will take place depends on WMQ release and platform. In all cases, the queue will not become full due to expired messages; and no application will be able to MQGET an expired message.
Given that most servers have sufficient processor capacity, the scavenger application should not impact SLAs in any meaningful way.
If your concern is that exiring a queue (or all queues) entirely filled with 100meg messages from a single queue might impact the next MQGETting application, you have other serious application issues.
Beyond that, what is your concern?
If you are looking for a comprehensive explanation of exactly how this or any other, internal process behaves, it seems to me that you are left with two options, namely: open a PMR with IBM; or get over it. _________________ 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 |
|
 |
Vitor |
Posted: Wed Jun 24, 2009 5:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
In all cases, the queue will not become full due to expired messages; |
Do we know that? For sure?
bruce2359 wrote: |
and no application will be able to MQGET an expired message. |
We certainly know that.
bruce2359 wrote: |
If you are looking for a comprehensive explanation of exactly how this or any other, internal process behaves, it seems to me that you are left with two options, namely: open a PMR with IBM; or get over it. |
Only IBM can say what it does, and only a PMR will do it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jun 24, 2009 8:43 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
Vitor wrote: |
bruce2359 wrote: |
In all cases, the queue will not become full due to expired messages; |
Do we know that? For sure?
|
The scavenger on Unix/Windows only considers open queues. So its possible to fill a q with messages, close the q, and the q will remain full even after they expire. The next MQPUT will fail. Unless you open the q for a while first and let the scavenger have a crack at it, or if you first issue an MQGET of your own, which will cause them to go away too.
This was the behaviour when I tested this when 6.0 was released first released. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jun 24, 2009 9:09 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
mqjeff is absolutely correct. Set maxdepth at 1 to demonstrate this - no need to create 5000 messages.
Given sufficient maxdepth ceiling, expiry should not be an issue. That was what I was implying. I should have qualified my earlier post accordingly. I, too, tested this at v6. _________________ 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 |
|
 |
MQEnthu |
Posted: Wed Jun 24, 2009 10:55 pm Post subject: |
|
|
 Partisan
Joined: 06 Oct 2008 Posts: 329 Location: India
|
PeterPotkay wrote: |
Vitor wrote: |
bruce2359 wrote: |
In all cases, the queue will not become full due to expired messages; |
|
Do we know that? For sure?
The scavenger on Unix/Windows only considers open queues. So its possible to fill a q with messages, close the q, and the q will remain full even after they expire. The next MQPUT will fail. Unless you open the q for a while first and let the scavenger have a crack at it, or if you first issue an MQGET of your own, which will cause them to go away too.
This was the behaviour when I tested this when 6.0 was released first released. |
Thank you all... This made things clear.. _________________ -----------------------------------------------
It is good to remember the past,
but don't let past capture your future |
|
Back to top |
|
 |
najafi1977 |
Posted: Tue Jul 21, 2009 4:30 am Post subject: |
|
|
Newbie
Joined: 03 Sep 2007 Posts: 6
|
Hi
I did the following in z/OS and MQSeries Version 6:
ALTER QMGR EXPRYINT(n)
REFRESH QMGR TYPE(EXPIRY) NAME(generic-object-name)
and I set Expiry(message lifetime) for message in my application.
How can i use expiry message in MQSeries version6 for windows?
should i set a QMGR properties? |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jul 21, 2009 5:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
najafi1977 wrote: |
How can i use expiry message in MQSeries version6 for windows? |
Same as you would on z/OS - message properties don't vary by platform.
najafi1977 wrote: |
should i set a QMGR properties? |
If you look back through this thread, you'll see that z/OS is the only platform that allows expiry handling to be configured. On Windows it just happens. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
najafi1977 |
Posted: Tue Jul 21, 2009 10:55 pm Post subject: Expiry Message |
|
|
Newbie
Joined: 03 Sep 2007 Posts: 6
|
Thanks
So taht is enough that i set time for Expired message in my application? |
|
Back to top |
|
 |
exerk |
Posted: Tue Jul 21, 2009 11:11 pm Post subject: Re: Expiry Message |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
najafi1977 wrote: |
...is enough that i set time for Expired message in my application?... |
Yes, and no. As has been stated many times above, depending on platform and WMQ version, they may be 'scavenged' periodically, but that 'periodically' may not be controllable. What is certain is that an expired message will never be got by an application.
The 'no' at the beginning of the above statement means that you may need to 'force' the scavenge, again depending on platform and version. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
najafi1977 |
Posted: Tue Jul 21, 2009 11:25 pm Post subject: |
|
|
Newbie
Joined: 03 Sep 2007 Posts: 6
|
The platform is Windows and version of QM is 6.
exerk is wrote :
....that you may need to 'force' the scavenge, again depending on platform and version.
is the scavenge a exec file in QM?
How can i force the scavenge?[/quote] |
|
Back to top |
|
 |
exerk |
Posted: Tue Jul 21, 2009 11:31 pm Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
najafi1977 wrote: |
The platform is Windows and version of QM is 6.
....that you may need to 'force' the scavenge, again depending on platform and version.
is the scavenge a exec file in QM?
How can i force the scavenge? |
Follow the very erudite advice given by Mr. PeterPotkay...
Quote: |
The scavenger on Unix/Windows only considers open queues. So its possible to fill a q with messages, close the q, and the q will remain full even after they expire. The next MQPUT will fail. Unless you open the q for a while first and let the scavenger have a crack at it, or if you first issue an MQGET of your own, which will cause them to go away too.
This was the behaviour when I tested this when 6.0 was released first released. |
_________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
|