Author |
Message
|
Frnd |
Posted: Wed Sep 28, 2011 12:47 am Post subject: |
|
|
Apprentice
Joined: 04 Jun 2007 Posts: 33
|
Hi All,
I had a similar question. Weh checked in IBM sites, I got the below link
which says the in MQ 6.0 , the queue clearance of the expired messages will be done by an internal queue manager task. So does that mean that our file systems will not get full even if we see expired messages in the quue ? or will there the expired messages inot stay in the queue for than 5 minutes because of this internal task ?
http://www-01.ibm.com/support/docview.wss?uid=swg21288579 |
|
Back to top |
|
 |
exerk |
Posted: Wed Sep 28, 2011 1:14 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Split from THIS 10 year-old post, which must be a record!
Frnd, please open new posts and refer to any previous ones, as above. Thank you. _________________ 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 |
|
 |
zpat |
Posted: Wed Sep 28, 2011 4:22 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
I believe file system space is released at intervals or on certain events, I can't quite remember the details. Should be in the documentation. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Sep 28, 2011 4:51 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
zpat wrote: |
I believe file system space is released at intervals or on certain events, |
AFAIK there's no direct link between the clearing of expired messages and the releasing of file space, though clearly they're connected (if the expired messages are not cleared prior to the file check, the space won't be released).
IMHO if this is a concern to you, you've not got enough file space allocated. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Sep 28, 2011 5:00 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Expired messages are never delivered to MQGETting applications. How expired messages are deleted from queues depends on the version of MQ. Historically, if there were expired messages, the first/next MQGET for a queue would invoke the internal 'garbage collection' routine.
On older versions, on slow processors, and especially if there were hundreds or thousands of expired messages, this synchronous process might take some time - a few seconds maybe.
On processors with abundant horsepower (like z/OS), garbage collection is asynchronous - scheduled from time-to-time by the qmgr.
Deleting expired messages does free up disk space.
Other than curiosity, what is your concern? _________________ 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 Sep 28, 2011 5:04 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
On processors with abundant horsepower (like z/OS), garbage collection is asynchronous - scheduled from time-to-time by the qmgr. |
Pedantically the z/OS scavenger is and has always been scheduled by the user.
bruce2359 wrote: |
Deleting expired messages does free up disk space.
|
Again pedantically, it certainly frees the space but you may not see the size of the queue file shrink on the disk immediately. In the same way reading a queue of 10,000 messages until it's empty does not immediately result in the file size shinking. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Sep 28, 2011 5:12 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Some of my point hers is that IBM doesn't guarantee exactly how and when expired messages are deleted, just that they will be deleted. _________________ 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 Sep 28, 2011 5:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
Some of my point hers is that IBM doesn't guarantee exactly how and when expired messages are deleted, just that they will be deleted. |
Quite, and more importantly does guarantee that they'll never be delivered to a GETing application.
I stand by my point (and by implication yours) that it should be of no concern to the end user unless they're short on space for the queue file; the solution to which is to increase the available space. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Sep 28, 2011 5:33 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
The other (interesting) point is that the next MQGET method of cleaning up expired messages is synchronous - driven by the application (user), and causing a bit of delay to the application until the expired messages are deleted - on midrange mq.
As you correctly point out, WMQ for z/OS schedules garbage collection at a sysadmin specified interval. The execution of garbage collection is asynchronous - doesn't affect MQGETs by user apps. _________________ 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 |
|
 |
exerk |
Posted: Wed Sep 28, 2011 6:51 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Although the link provided by the OP (WMQ V6.0-specific but I would expect the functionality to be replicated in WMQ V7.0) states:
Quote: |
MQ V6.0, functionality has been added to internally discard expired messages silently. When a message expires, it will be discarded when: an MQGET which matches the message is issued, or It is internally removed by the queue manager's expirer task. |
And:
Quote: |
On distributed platforms, 'ExpiryInterval' can be added to the 'TuningParameters' stanza in the queue manager's qm.ini file. |
Now, the first quote implies that no application action is required, i.e. the internal expirer task will 'scavenge' all queues, and the second quote confirms it's now, like z/OS, a user scheduled task, although interestingly it's not reflected in either of the Info Centres. _________________ 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 |
|
 |
Vitor |
Posted: Wed Sep 28, 2011 6:58 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
exerk wrote: |
Now, the first quote implies that no application action is required, i.e. the internal expirer task will 'scavenge' all queues |
Though the exact technique in use has been the subjct of some debate in here; there was a belief it was only open queues being scavenged & I don't recall the outcome of that discussion (and am too idle to look it up).
exerk wrote: |
and the second quote confirms it's now, like z/OS, a user scheduled task, although interestingly it's not reflected in either of the Info Centres. |
A feature introduced with not a bang but a whimper. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
exerk |
Posted: Wed Sep 28, 2011 7:05 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Quote: |
Though the exact technique in use has been the subjct of some debate in here; there was a belief it was only open queues being scavenged & I don't recall the outcome of that discussion (and am too idle to look it up). |
This has been one of those "...every day is a school day..." days for me. I think generally the opinion has been that queues are only scavenged if there is/has been a recent GET issued, so that's been comprehensively debunked (must try it when I get some time in the playground). As for looking it up, that's why you have me for a wart - to do it for you!
Quote: |
A feature introduced with not a bang but a whimper. |
Yet another fine example of documentation - the Info Centres return nothing in regard to 'TuningParameters'. _________________ 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 |
|
 |
Vitor |
Posted: Wed Sep 28, 2011 7:16 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
exerk wrote: |
Yet another fine example of documentation - the Info Centres return nothing in regard to 'TuningParameters'. |
There's a useful button marked "Feedback" that could be relevant here.
IIRC when v6 first came out it had the feature, but it ran according to internal logic & couldn't be influenced by mortal man. It was later that the facility appeared in the qm.ini file to bring it into line with the z/OS functionality. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
exerk |
Posted: Wed Sep 28, 2011 7:18 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
Vitor wrote: |
exerk wrote: |
Yet another fine example of documentation - the Info Centres return nothing in regard to 'TuningParameters'. |
There's a useful button marked "Feedback" that could be relevant here. |
I'm too lazy!  _________________ 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 |
|
 |
|