|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQRC 2082 on alias queue with base queue in a cluster |
« View previous topic :: View next topic » |
Author |
Message
|
zpat |
Posted: Mon Jul 12, 2021 12:35 am Post subject: MQRC 2082 on alias queue with base queue in a cluster |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
MQRC 2082 means base queue for alias not found. MQRC_UNKNOWN_ALIAS_BASE_Q
Simple enough you would think, but what happens if the base queue is in fact a clustered queue located on another QM?
No problems; MQ resolves it at MQOPEN and you can put to that queue for onward transmission using cluster channels.
Now try a poorly coded application that opens the alias queue for both input and output at the same time (even though it only wants to put to it).
Not that uncommon a situation and with local queues, you can get away with it. However in this case the use of any INPUT or BROWSE in the MQOO will cause 2082.
My concern is that the error code is misleading, the base queue is not missing at all. It has failed because you are trying to open a cluster queue for input.
Why is there not a separate MQRC for this? Or at least an explanation in the KC that this can cause MQRC 2082?
(I used the very useful MQI API exerciser in MO71 to test the effect of the various MQOO options). _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Jul 12, 2021 3:12 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
The way I reconcile the logic of this MQRC in this scenario: When you use the Input or Browse option, you are implicitly telling the local queue manager to only look for a local instance of the base queue. Since there is no local instance to be found, unknown base queue. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Mon Jul 12, 2021 4:03 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Decades ago, and very early in my MQ career, and way before MQ clusters, I came home from a tech conference with a bumper sticker that foretold all "PUT GLOBAL, GET LOCAL" it said. _________________ 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 |
|
 |
zpat |
Posted: Mon Jul 12, 2021 10:23 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Something in the KC to give that as a possible cause would be good.
This was vendor code (no doubt tested only on local queues) and for some reason not picked up until our production deployment. _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
hughson |
Posted: Tue Jul 13, 2021 2:18 am Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
PeterPotkay wrote: |
The way I reconcile the logic of this MQRC in this scenario: When you use the Input or Browse option, you are implicitly telling the local queue manager to only look for a local instance of the base queue. Since there is no local instance to be found, unknown base queue. |
zpat wrote: |
Something in the KC to give that as a possible cause would be good. |
You can make comments against the page in KC and the Doc dept do make fixes, especially if you are nice and explicit about what to write.
It does already say:-
IBM Docs wrote: |
This reason code can occur when BaseQName is the name of a cluster queue that cannot be resolved successfully. |
and
IBM Docs wrote: |
MQRC_UNKNOWN_ALIAS_BASE_Q might indicate that the application is specifying the ObjectQmgrName of the queue manager that it is connecting to, and the queue manager that is hosting the alias queue. This means that the queue manager looks for the alias target queue on the specified queue manager and fails because the alias target queue is not on the local queue manager. Leave the ObjectQmgrName parameter blank so that the clustering decides which queue manager to route to. |
which is a hint to say you're not finding the cluster version of the queue you're looking for. But it doesn't have the nugget you needed which was "using MQOO_INPUT_* has the same effect as filling in the ObjectQmgrName with your own queue manager for this lookup".
If I were going to feedback on this, I would ask them to add the following to the end of the Explanation:
IBM Docs Update wrote: |
MQRC_UNKNOWN_ALIAS_BASE_Q might indicate that alias queue refers to a clustered BaseQName, but that the alias queue has been opened using an Open Option that forces the queue manager not to look in the cluster repository. The MQOO_BROWSE and MQOO_INPUT_* options are examples of Open Options that cause this behaviour. |
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
zpat |
Posted: Tue Jul 13, 2021 6:29 am Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Thanks, feedback submitted.
Of course, I had no way of knowing that this vendor code had opened the queue with anything other than output (in fact I still don't know that for sure but it seems to fit the bill).
Another thing learnt about MQ - but not ideal at 02:30 in the middle of the night when called to "locate a missing queue". _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|