You're right Gregg, the behaviour I described occurs in MQSeries v2.1 and
earlier. I missed this enhancement when looking at the upgrade to 5.3.

Back on the original question, you still have to browse past the location
of the message. In a distributed environment, you still need to run a
periodic browse of the queue if all normal access is via messageid or
correlid. On the mainframe, MQ can do this for you.

The relevent slice from the Application Programming Reference manual is:
After a message's expiry time has elapsed, it becomes eligible to be
discarded by the queue manager. In the current implementations, the message
is discarded when a browse or nonbrowse  MQGET  call occurs that would have
returned the message had it not already expired.

This is documented with the Expiry field of the MQMD structure.

Neil Casey
National Australia Bank
Southern Star Technology
WebSphere MQ Support
1/122 Lewis Rd Wantirna South
office. +61 3 9886 2375 (x82375)
mobile. +61 414 615 334


                                                                       
                      "Tuben, Gregg"                                   
                      <[EMAIL PROTECTED]        To:       [EMAIL PROTECTED]
                      COM>                     cc:                     
                      Sent by: MQSeries        Subject:  Re: Clearing Expiry Messages
                      List                                             
                      <[EMAIL PROTECTED]                                
                      n.AC.AT>                                         
                                                                       
                                                                       
                      08/04/2004 11:17                                 
                      Please respond to                                
                      MQSeries List                                    
                                                                       
                                                                       




With WSMQ for z/OS the Get does not need to be destructive for the messages
to be deleted. Any attempt to read an expired message causes it to be
deleted.

Gregg Tuben
Lead Developer z/OS WSMQ products
BMC Software Inc.


-----Original Message-----
From: Neil Casey [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 07, 2004 6:26 PM
To: [EMAIL PROTECTED]
Subject: Re: Clearing Expiry Messages


Hi guys,

my experience with GET via correlid (both MF and distributed) indicates
that a GET via correlid at current WMQ levels does not clean the queue. On
MF, you need to do a destructive get, which would have read the message,
and commit, or else you need to use the new cleanup capbility in MQ5.3.

On the distributed side, you need to browse sequentially past the message.

IBM have explicitly made indexing available on the MF, but I believe that
it is there implicitly on distributed platforms. The performance impact of
scanning is just too large to put with.

Regards,

Neil Casey




                      "Potkay, Peter M
                      (PLC, IT)"                 To:
[EMAIL PROTECTED]
                      <[EMAIL PROTECTED]        cc:
                      RTFORD.COM>                Subject:  Re: Clearing
Expiry Messages
                      Sent by: MQSeries
                      List
                      <[EMAIL PROTECTED]
                      AC.AT>


                      08/04/2004 07:06
                      Please respond to
                      MQSeries List






Jeff wrote:
"If the Correl Id does not match, MQ DOES NOT do a Expiry check."

Actually, it does, and the Expired message will go away.

But keep in mind the thought of Indexed queues on the MF, which will
prevent
every message being searched from top to bottom when doing an MQGET, even
for a specific ID.


-----Original Message-----
From: Jeff A Tressler [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 07, 2004 4:59 PM
To: [EMAIL PROTECTED]
Subject: Re: Clearing Expiry Messages


>Set an Expiry just above your Wait Interval
>is valid, but keep in mind that your queues
>will be cleared almost immediately of any
>orphaned messages as subsequent gets execute.
>
This is what I understand in general, here is
the specifics of my issue and how I understand
the issue.

Our application reads by Correl Id. I assume the
read checks each message sequentially in the
queue to see if there is a matching Correl Id.
If the Correl Id does not match, MQ DOES NOT
do a Expiry check. This is my assumption, I
assume that it only does an expiry check when
it actually reads the message (GET or BROWSE).
If the Correl Id does not match the id supplied
by the application then the message does not get
deleted.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive


This communication, including attachments, is for the exclusive use of
addressee and may contain proprietary, confidential or privileged
information. If you are not the intended recipient, any use, copying,
disclosure, dissemination or distribution is strictly prohibited. If
you are not the intended recipient, please notify the sender
immediately by return email and delete this communication and destroy all
copies.

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive


Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://vm.akh-wien.ac.at/MQSeries.archive

Reply via email to