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 » General IBM MQ Support » MQMD COD report option

Post new topic  Reply to topic
 MQMD COD report option « View previous topic :: View next topic » 
Author Message
Lillian
PostPosted: Thu Apr 14, 2005 7:59 am    Post subject: MQMD COD report option Reply with quote

Centurion

Joined: 15 Apr 2002
Posts: 102

Hi All - using mqv5.3

I am trying to understand the workings on the report options set on a messages, specifically the generation of the confirmation on delivery. I have been doing some performance measurement on an application and it seems that ,there is an overhead on the application when COD is required. the application does a get off the queue and puts on a reply queue.
-The data seems to imply that the COD is only generated after the put and not the get, Why?
- at what point does the QM generated the COD
- would a browse generate a COD?


Another observation is the variation is much higher when processing a bulk of messages sitting on teh queue as opposed to one msg / sec.
Why would the interval between messages be a factor?

any reference/doc to the COD mechanism would be appreciated.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Apr 14, 2005 10:11 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

Quote:

The data seems to imply that the COD is only generated after the put and not the get, Why?

???? What data? A COD is generated by the QM when an application MQGETs the message off of the queue. Nothing to do with an MQPUT.

Quote:

any reference/doc to the COD mechanism would be appreciated.

Application Programming Guide Manual
Application Programming Referance Manual
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bob_buxton
PostPosted: Thu Apr 14, 2005 12:16 pm    Post subject: Reply with quote

Master

Joined: 23 Aug 2001
Posts: 266
Location: England

If you get within syncpoint the COD message and your reply message will also be in syncpoint so the COD and reply will both become available at syncpoint time rather than at Get time.
_________________
Bob Buxton
Ex-Websphere MQ Development
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Thu Apr 14, 2005 12:25 pm    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Peter

I thought that a COA was raised on the MQGET, but COD was raised when the queue manager put the message on the target queue?

(note...not the MQPUT by the application, but the MQPUT by the queue manager to the target queue)

I could be wrong (usually am) and stand to be corrected but that was my understanding of how it worked.
Back to top
View user's profile Send private message
bob_buxton
PostPosted: Thu Apr 14, 2005 12:56 pm    Post subject: Reply with quote

Master

Joined: 23 Aug 2001
Posts: 266
Location: England

MQRO_COA
Confirm-on-arrival reports required.

This type of report is generated by the queue manager that owns the destination queue, when the message is placed on the destination queue. Message data from the original message is not included with the report message.

If the message is put as part of a unit of work, and the destination queue is a local queue, the COA report message generated by the queue manager becomes available for retrieval only if and when the unit of work is committed.

A COA report is not generated if the Format field in the message descriptor is MQFMT_XMIT_Q_HEADER or MQFMT_DEAD_LETTER_HEADER. This prevents a COA report being generated if the message is put on a transmission queue, or is undeliverable and put on a dead-letter queue.

MQRO_COD
Confirm-on-delivery reports required.

This type of report is generated by the queue manager when an application retrieves the message from the destination queue in a way that causes the message to be deleted from the queue. Message data from the original message is not included with the report message.

If the message is retrieved as part of a unit of work, the report message is generated within the same unit of work, so that the report is not available until the unit of work is committed. If the unit of work is backed out, the report is not sent.

A COD report is not always generated if a message is retrieved with the MQGMO_MARK_SKIP_BACKOUT option. If the primary unit of work is backed out but the secondary unit of work is committed, the message is removed from the queue, but a COD report is not generated.

A COD report is not generated if the Format field in the message descriptor is MQFMT_DEAD_LETTER_HEADER. This prevents a COD report being generated if the message is undeliverable and put on a dead-letter queue.

MQRO_COD is not valid if the destination queue is an XCF queue.
_________________
Bob Buxton
Ex-Websphere MQ Development
Back to top
View user's profile Send private message
JT
PostPosted: Thu Apr 14, 2005 2:26 pm    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

lillian wrote:
- would a browse generate a COD?

No. The message has to be deleted from the queue (destructive 'get') before the COD message is generated.

To verify bob b.'s statement, change the MQGET call to include the option 'MQGMO_NO_SYNCPOINT '. The COD should be generated immediately.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu Apr 14, 2005 3:18 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

kevinf2349 wrote:
Peter

I thought that a COA was raised on the MQGET, but COD was raised when the queue manager put the message on the target queue?

(note...not the MQPUT by the application, but the MQPUT by the queue manager to the target queue)

I could be wrong (usually am) and stand to be corrected but that was my understanding of how it worked.


Bob's quote is the official word, but in short:
The COA comes out when the receiver MCA succesfully MQPUTs to the destination queue.
The COD comes out when an application successfully MQGET's the message from the queue.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Apr 14, 2005 7:07 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Now of course if the destination qmgr is the local qmgr ...
the COA would be created at put time.....

Enjoy
Back to top
View user's profile Send private message Send e-mail
Lillian
PostPosted: Thu Apr 14, 2005 11:56 pm    Post subject: Reply with quote

Centurion

Joined: 15 Apr 2002
Posts: 102

Is there a way of seperating the application from the COD generation such that the applications performance is not "affected"? It seems that an overhead should be expected since the QM is common to both processes?

If this overhead is not acceptable, is there another way of keeping track of processed messages?
Back to top
View user's profile Send private message
Nigelg
PostPosted: Fri Apr 15, 2005 2:35 am    Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

For goodness sake...

If you want a COD, you have to accept that some cycles have to be allocated to write it.
If you do not want to use those cycles, don't ask for a COD.

You never get something for nothing.
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 » General IBM MQ Support » MQMD COD report option
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.