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 » MQRC 2082 on alias queue with base queue in a cluster

Post new topic  Reply to topic
 MQRC 2082 on alias queue with base queue in a cluster « View previous topic :: View next topic » 
Author Message
zpat
PostPosted: Mon Jul 12, 2021 12:35 am    Post subject: MQRC 2082 on alias queue with base queue in a cluster Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
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
View user's profile Send private message
PeterPotkay
PostPosted: Mon Jul 12, 2021 3:12 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

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
View user's profile Send private message
bruce2359
PostPosted: Mon Jul 12, 2021 4:03 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
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
View user's profile Send private message
zpat
PostPosted: Mon Jul 12, 2021 10:23 pm    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
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
View user's profile Send private message
hughson
PostPosted: Tue Jul 13, 2021 2:18 am    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
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
View user's profile Send private message Visit poster's website
zpat
PostPosted: Tue Jul 13, 2021 6:29 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5849
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
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 » MQRC 2082 on alias queue with base queue in a cluster
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.