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 IndexGeneral IBM MQ SupportCOA correlation issue

Post new topicReply to topic Goto page Previous  1, 2
COA correlation issue View previous topic :: View next topic
Author Message
rekarm01
PostPosted: Thu Sep 27, 2018 6:01 pm Post subject: Re: COA correlation issue Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1308

hughson wrote:
I will add a further clarification after trying it (instead of relying upon my memory!)

If your MQPUT uses MQPMO_NEW_MSG_ID then a message ID will be generated and returned on output to the caller of the MQPUT. As noted above, this is not the message ID of any of the copies sent to subscribers.

If your MQPUT does not use that option, then the message ID will be all zeroes.

Without actually trying it myself, the documentation says something slightly different.

For MQPUT/MQPUT1 calls, if the application:
  • sets MsgDesc.MsgId to MQMI_NONE,
  • or sets PutMsgOpts.Options to include MQPMO_NEW_MSG_ID,
  • or puts to a topic,
  • or puts to a distribution list,
then the queue manager generates unique message identifiers for each message put/published. Otherwise, it just propagates MsgDesc.MsgId instead.

That's assuming the application uses default values for PutMsgOpts Version, Action, OriginalMsgHandle, and NewMsgHandle, and that Options does not include MQPMO_MD_FOR_OUTPUT_ONLY. Otherwise, things get more complicated.

ziliboba wrote:
Any hint or advise is very much appreciated.

Instead of using pub/sub, try inserting a new App D, which gets messages from App A, and forwards them to App B and App C:
    App A -> QM.A[Q1] -channel-> QM.D[QL->App D->{Q2,Q3}] -> {App B, QM.C[Q4] -> App C}

    where QL is a local queue on QM.D (which could be the same qmgr as QM.B)

In this case, QM.D would be sending COA reports when messages arrive on the App D input queue, so App D would need to at least clear the MQMD.Report field, when forwarding messages to App B and App C.
Back to top
View user's profile Send private message
hughson
PostPosted: Thu Sep 27, 2018 10:05 pm Post subject: Reply with quote

Sentinel

Joined: 09 May 2013
Posts: 815
Location: Bay of Plenty, New Zealand

exerk wrote:
hughson wrote:
exerk wrote:
And still the RFE for all pub/sub messages to carry the MsgId of the 'original' is still outstanding.
Do you have the number to hand? I could add it to the blog post I have just written, maybe get some more votes on it.

Morag, it's still 'Under Consideration', so not a definite NO at the moment...
Thanks. I have added a link to it in my latest MQuirks blog post.
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
hughson
PostPosted: Thu Sep 27, 2018 10:09 pm Post subject: Re: COA correlation issue Reply with quote

Sentinel

Joined: 09 May 2013
Posts: 815
Location: Bay of Plenty, New Zealand

rekarm01 wrote:
Without actually trying it myself, the documentation says something slightly different.

For MQPUT/MQPUT1 calls, if the application:
  • sets MsgDesc.MsgId to MQMI_NONE,
  • or sets PutMsgOpts.Options to include MQPMO_NEW_MSG_ID,
  • or puts to a topic,
  • or puts to a distribution list,
then the queue manager generates unique message identifiers for each message put/published. Otherwise, it just propagates MsgDesc.MsgId instead

What the documentation says there is true. It doesn't mention what is returned on the MQPUT call though which is the issue at hand.
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
rekarm01
PostPosted: Fri Sep 28, 2018 8:00 pm Post subject: Re: COA correlation issue Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 1308

hughson wrote:
What the documentation says there is true. It doesn't mention what is returned on the MQPUT call though, which is the issue at hand.

The documentation does mention what MQPUT returns to the caller when putting to a topic, (mostly), but while generally useful to know, it wasn't relevant to the OP's problem:
  • If the application sets PutMsgOpts.Options to include MQPMO_NEW_MSG_ID, then the queue manager returns a unique (non-matching) message id,
  • otherwise, if the application sets MsgDesc.MsgId to MQMI_NONE, then the queue manager returns MQMI_NONE,
  • otherwise the documentation does not specify what the queue manager returns.

The OP's problem is what MQPUT sends to App B and App C, not what it returns to App A:
    App A -> QM.A[Q1] -channel-> QM.B[QA->T->...] -> {App B, QM.C[Q4] -> App C}

App A puts a message to a remote queue, (not a topic), so MQPUT returns the same message id to App A that it sent in the message, as expected.

The MCA for QM.B puts the message to a topic, so MQPUT generates unique message ids for the messages it sends to App B, and App C; what it returns to the MCA doesn't matter.

Regardless, the workaround is the same; don't use pub/sub here.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Sep 29, 2018 2:47 pm Post subject: Reply with quote

Grand Poobah

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

Or rather if you do use pub sub you need to use properties to store a user msgid / correl id so that it gets propagated in the pub sub model...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:
Post new topicReply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum IndexGeneral IBM MQ SupportCOA correlation issue
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.