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 » IBM MQ API Support » how do i delete an expired message from a local queue

Post new topic  Reply to topic
 how do i delete an expired message from a local queue « View previous topic :: View next topic » 
Author Message
zigeesha
PostPosted: Thu Jul 19, 2007 1:22 pm    Post subject: how do i delete an expired message from a local queue Reply with quote

Apprentice

Joined: 16 Aug 2004
Posts: 32
Location: california

Hi ,

Is there a way to delete an expired message from a queue usingamqdnet.dll for wmq v5.3

I have a request reply scenario .IF the reply message doesn't make it within the request applications wait time period , the message gradually expires and is still sitiing in the queue. I would like to delete this message.

How will i be able to achieve this programatically using vb.net?
or is there a configuration on the queue manager to scan for expired messages on the queue and then delete them?

Thanks zig
Back to top
View user's profile Send private message AIM Address
jefflowrey
PostPosted: Thu Jul 19, 2007 1:26 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

There are no guaranteed ways to cause expired messages to be removed.

The only guarantees made about expired messages is that you can't get them.

If you are running v6, and I think some of the later FPs of 5.3, then expired messages will get cleaned up by a background task.

If you execute a GET that matches an expired message, the expired message usually will get removed from the q file. I say usually because, again, this isn't guaranteed.

In general, expired messages are not the responsibility of anyone other than the qmgr. If your programs are creating lots of expired messages, and the MQ administrator is complaining that you're using too much diskspace... then increase the Expiry so that you don't leave so many expired messages.

Or convince the MQ Administrator that your code is functioning according to the business requirements, and the diskspace needs to be sized to accomodate these same business requirements.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
zigeesha
PostPosted: Thu Jul 19, 2007 2:44 pm    Post subject: Reply with quote

Apprentice

Joined: 16 Aug 2004
Posts: 32
Location: california

Thanks a lot for the information I would appreciate if you provide me further information about the background process. I am running MQ v5.3.05

I have another question .Won't the message retrieval time increase on an mqget call if the expired messages get queued up. If these increase in a large number will the performance of the application making an MQGET call on the queue not decrease ?
Back to top
View user's profile Send private message AIM Address
jefflowrey
PostPosted: Thu Jul 19, 2007 3:07 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

zigeesha wrote:
am running MQ v5.3.05


Do you leave your house unlocked, too? That's a ridiculously old version of the product that exposes your company to a ridiculous amount of completely avoidable risk.

zigeesha wrote:
I have another question .Won't the message retrieval time increase on an mqget call if the expired messages get queued up. If these increase in a large number will the performance of the application making an MQGET call on the queue not decrease ?


It's clear that performance is a secondary issue. If performance were important to your application, then you would be running MQ v6 - which has significant performance improvements. In addition to the much reduced risk.

Again. Either your code is being too aggressive about Expiry, and needs to be adjusted to meet the acutal requirements. Or your code is using the correct Expiry value for the requirements.

If your code is meeting the business requirements, but still leaving lots of expired messages lying around, then you need to look elsewhere for performance tuning. Or reexamine the business requirements.

In general, a system should not be designed to leave lots of expired messages.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Jul 19, 2007 11:41 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

zigeesha wrote:
Thanks a lot for the information I would appreciate if you provide me further information about the background process. I am running MQ v5.3.05


That version clears expired messages on MQGET.

And I agree - it's ridiculously old. Upgrade.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » how do i delete an expired message from a local queue
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.