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 » Clustering » DEFCLXQ set to CHANNEL, but MQ Name Resolution issue?

Post new topic  Reply to topic
 DEFCLXQ set to CHANNEL, but MQ Name Resolution issue? « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Aug 24, 2020 10:46 am    Post subject: DEFCLXQ set to CHANNEL, but MQ Name Resolution issue? Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

MQ 9.1.0.5 on RHEL
New install, new queue manager, queue manager was altered to DEFCLXQ = CHANNEL before its added to the existing MQ cluster.

QM1 is the queue manager the client app is connected to.
QM2 is the destination queue manager that houses the local queue.

Use Cases
A. Client app connects to QM1, MQOPENs a locally defined Remote Queue definition aimed at the local queue on QM2. No issues, I can see name resolution takes the MQOPEN call to SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME.

B. Client app connects to QM1, MQOPENs a locally defined Alias Queue definition that resolves to a clustered local queue on QM2. No issues, I can see name resolution takes the MQOPEN call to SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME.

C. Client app connects to QM1, MQOPENs supplying the Destination Queue Name as well as the Destination Queue Manager Name (QM2). ISSUES! I can see name resolution takes the MQOPEN call to SYSTEM.CLUSTER.TRANSMIT.QUEUE. Since I purposely did not grant the app access to SYSTEM.CLUSTER.TRANSMIT.QUEUE, they get MQRC 2035. I did grant them access to SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME because that is the queue I expected name resolution to resolve to.
If I temporarily grant access to SYSTEM.CLUSTER.TRANSMIT.QUEUE, it works and I can see the app connection to SYSTEM.CLUSTER.TRANSMIT.QUEUE.
When the app puts the message, I then see the Cluster channel from QM1 to QM2 open SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME, not SYSTEM.CLUSTER.TRANSMIT.QUEUE.

For use case C:
the app has the SYSTEM.CLUSTER.TRANSMIT.QUEUE open for output (but not SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME)
the cluster sender channel has SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME open for input and output (but has no (visible) connection to SYSTEM.CLUSTER.TRANSMIT.QUEUE)
The put and get counts increase on SYSTEM.CLUSTER.TRANSMIT.TO.QM2.MYCLUSTERNAME, they do not increase on SYSTEM.CLUSTER.TRANSMIT.QUEUE


With DEFCLXQ set to CHANNEL, I expected all 3 uses cases to only use the QM specific cluster transmit queues, and no dependency on the classic SYSTEM.CLUSTER.TRANSMIT.QUEUE.
Use Cases A and B I only had to grant access to the locally defined Remote or Alias definition.
Use Case C I expected to need to grant access to the transmission queue, but Im surprised MQ Name Resolution takes the apps MQOPEN call to SYSTEM.CLUSTER.TRANSMIT.QUEUE.


So, is this a defect in my understanding of how this should work, a defect in my configuration (where?) or a defect in MQ 9.1.0.5 with name resolution as it relates to DEFCLXQ = CHANNEL?

Is it expected that with DEFCLXQ set to CHANNEL, an app the MQOPENs a queue while supplying the destination QM name actually has a dependency on SYSTEM.CLUSTER.TRANSMIT.QUEUE?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Mon Aug 24, 2020 4:18 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Jamie Squibb from IBM directed my attention to the following documentation.


https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.2.0/com.ibm.mq.pla.doc/q017170_.htm


Quote:
If an application opens a cluster queue that is not on the local queue manager, there is no local object to check. The access control checks are made against the cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE. Even with multiple cluster transmission queues, from Version 7.5, local access control checks for remote cluster queues are made against SYSTEM.CLUSTER.TRANSMIT.QUEUE.


This covers my scenario exactly.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Aug 25, 2020 12:47 pm    Post subject: Reply with quote

Grand High Poobah

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

PeterPotkay wrote:
Jamie Squibb from IBM directed my attention to the following documentation.


https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.2.0/com.ibm.mq.pla.doc/q017170_.htm


Quote:
If an application opens a cluster queue that is not on the local queue manager, there is no local object to check. The access control checks are made against the cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE. Even with multiple cluster transmission queues, from Version 7.5, local access control checks for remote cluster queues are made against SYSTEM.CLUSTER.TRANSMIT.QUEUE.


This covers my scenario exactly.

To avoid authorizing the SCTQ you can also add a Security Stanza to the qm.ini where you choose to authorize via RQMNAME....
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
hughson
PostPosted: Tue Aug 25, 2020 9:06 pm    Post subject: Reply with quote

Padawan

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

fjb_saper wrote:
PeterPotkay wrote:
Jamie Squibb from IBM directed my attention to the following documentation.


https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.2.0/com.ibm.mq.pla.doc/q017170_.htm


Quote:
If an application opens a cluster queue that is not on the local queue manager, there is no local object to check. The access control checks are made against the cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE. Even with multiple cluster transmission queues, from Version 7.5, local access control checks for remote cluster queues are made against SYSTEM.CLUSTER.TRANSMIT.QUEUE.


This covers my scenario exactly.

To avoid authorizing the SCTQ you can also add a Security Stanza to the qm.ini where you choose to authorize via RQMNAME....

You should work for the Readers Digest ....
_________________
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
fjb_saper
PostPosted: Tue Aug 25, 2020 9:35 pm    Post subject: Reply with quote

Grand High Poobah

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

hughson wrote:
fjb_saper wrote:
PeterPotkay wrote:
Jamie Squibb from IBM directed my attention to the following documentation.


https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_9.2.0/com.ibm.mq.pla.doc/q017170_.htm


Quote:
If an application opens a cluster queue that is not on the local queue manager, there is no local object to check. The access control checks are made against the cluster transmission queue, SYSTEM.CLUSTER.TRANSMIT.QUEUE. Even with multiple cluster transmission queues, from Version 7.5, local access control checks for remote cluster queues are made against SYSTEM.CLUSTER.TRANSMIT.QUEUE.


This covers my scenario exactly.

To avoid authorizing the SCTQ you can also add a Security Stanza to the qm.ini where you choose to authorize via RQMNAME....

You should work for the Readers Digest ....


To my defense the infocenter is exceptionally obtuse in the matter as it nowhere states that it is a Security Stanza that needs to be changed... On the other hand I should have followed the link instead of assuming it just said that the system was going to use the SCTQ for authorizations...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » DEFCLXQ set to CHANNEL, but MQ Name Resolution 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.