|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
How does a clusqmgr relate to a cluster channel (DEFTYPE) ? |
« View previous topic :: View next topic » |
Author |
Message
|
ayanc |
Posted: Sun Apr 16, 2006 8:54 pm Post subject: How does a clusqmgr relate to a cluster channel (DEFTYPE) ? |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
Hi,
As per the manual the DEFTYPE attribute is described as follows:
Quote: |
DEFTYPE How the queue manager was defined. DEFTYPE can be one of the following:
CLUSSDR
Defined explicitly as a cluster-sender channel
CLUSSDRA
Defined by auto-definition as a cluster-sender channel
CLUSSDRB
Defined as a cluster-sender channel, both explicitly and by
auto-definition
CLUSRCVR
Defined as a cluster-receiver channel
|
How can a qmgr be "defined" as per a cluster channel? We know that every qmgr in a cluster has a cluster receiver channel. Every partial repository qmgr has a clussdr channel to one full repository. If you have two full repositories then they have a clussdr channel in between them.
I created a cluster having one full repository qmgr, two partial repository qmgrs. I found the DEFTYPE attributes as follows:
QM0 (Full Repository qmgr): CLUSSDRB
QM1 (Partial): CLUSRCVR
QM2(Partial): CLUSSDRA
I then created a clussdr channel explicitly in QM1 to QM2, but DEFTYPE value did not change.
My question is how is this value determined? The full repository qmgr has CLUSSDRB but in reality it does not have any cluster sender channel!!!! (Bcoz it is the only repository qmgr).
I am totally confused. Can any one please help me? |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 3:31 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Umm...bad wording in the doc, it probably should say:
Quote: |
DEFTYPE How the cluster channel was defined. DEFTYPE can be one of the following: |
You said:
Quote: |
The full repository qmgr has CLUSSDRB but in reality it does not have any cluster sender channel!!!! (Bcoz it is the only repository qmgr). |
So what do you see when you display this channel? Is it a definition to QM1 or QM2? _________________ -wayne |
|
Back to top |
|
 |
ayanc |
Posted: Mon Apr 17, 2006 4:18 am Post subject: |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
Hi Wayne,
The DEFTYPE is a qmgr attribute and can have only one value. So, my full repository qmgr QM0 contains the DEFTYPE value of CLUSSDRB which as per the doc means
that the qmgr has been defined as a cluster-sender channel, both explicitly and by auto-definition.
I cannot display any cluster sender channel in QM0 because it is not defined explicitly. When the qmgr wishes to communicate with QM1 or QM2 it will automatically create the cluster sender channel based on the clusrcvr definitions of the respective qmgrs. So practically it follows the concept of CLUSSDRA (Defined by auto-definition as a cluster-sender channel ).
Similarly my cluster channel defn in both QM1 and QM2 are same. Each of them has a clusrcvr channel and one clussdr channel defined explicitly to QM0. However one is defined as CLUSRCVR and other as CLUSSDRA.
This whole concept is puzzling me.  |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 5:47 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Perhaps it's a sementic issue, what I meatn was:
Quote: |
7 : dis clusqmgr(*) channel deftype
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(CLUSR1) CHANNEL(TO.CLUSR1)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSSDRB)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(CLUSR2) CHANNEL(TO.CLUSR2)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSRCVR)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(TEST) CHANNEL(TO.TEST)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSSDRA)
|
where I'm issuing this command from CLUSR2. CLUSR1 R2 are FR's, TEST is a PR. _________________ -wayne |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Apr 17, 2006 4:11 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
wschutz wrote: |
Perhaps it's a sementic issue, what I meatn was:
Quote: |
7 : dis clusqmgr(*) channel deftype
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(CLUSR1) CHANNEL(TO.CLUSR1)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSSDRB)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(CLUSR2) CHANNEL(TO.CLUSR2)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSRCVR)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(TEST) CHANNEL(TO.TEST)
CLUSTER(NEWCLUSTER2) DEFTYPE(CLUSSDRA)
|
where I'm issuing this command from CLUSR2. CLUSR1 R2 are FR's, TEST is a PR. |
Do you mean to say that DEFTYPE defines here the way the default path to the Clusqmgr has been created on the qmgr you are connected to?
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
wschutz |
Posted: Mon Apr 17, 2006 4:56 pm Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Precisely, the channel to CLUSR1 (the other FR1) from CLUSR2 is a result of what I explicitly defined in CLUSR2 (the clussdr channel dfinition) and the definition on CLUSR1 (the clusrcvr channel definition), thus: CLUSSDRB.
The channel to TEST was never defined in CLUSR2, thus it only exists there due to its definition in TEST, thus: CLUSSDRA. _________________ -wayne |
|
Back to top |
|
 |
ayanc |
Posted: Mon Apr 17, 2006 9:36 pm Post subject: |
|
|
Voyager
Joined: 15 Nov 2004 Posts: 88
|
Hi Wayne,
The info that you requested is as follows:
Quote: |
DIS CLUSQMGR(*) CHANNEL DEFTYPE
2 : DIS CLUSQMGR(*) CHANNEL DEFTYPE
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(QM0) CLUSTER(CLUSTER1)
CHANNEL(TO.QM0) DEFTYPE(CLUSSDRB)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(QM1) CLUSTER(CLUSTER1)
CHANNEL(TO_QM1) DEFTYPE(CLUSRCVR)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(QM2) CLUSTER(CLUSTER1)
CHANNEL(TO_QM2) DEFTYPE(CLUSSDRA)
|
Single full repos qmgr QM0, two partial repos qmgr QM1,QM2.
I have still not understood your point.  |
|
Back to top |
|
 |
Ivans |
Posted: Tue Apr 18, 2006 3:56 am Post subject: |
|
|
Apprentice
Joined: 03 Jan 2006 Posts: 48 Location: Hursley
|
ayanc,
I'll try to explain DEFTYPE with some detail...
Manually defined cluster sender channels act as a kind of bootstrap and their definitions are overridden by cluster receiver definitions from remote partner queue managers. They should ALWAYS be directed at full repositories. Partial repositories use manual cluster senders to join a cluster and full repositories use manual cluster channels to identify other full repositories that they wish to share their repository info with. There are three types of cluster sender channel:
CLUSSDR - A cluster-sender channel from an explicit definition. No cluster receiver definition has been received from the partner queue manager.
CLUSSDRA - A cluster-sender channel by auto-definition alone. A cluster receiver definition has been received from the partner queue manager and used to create an auto-defined channel.
CLUSSDRB - A cluster-sender channel by auto-definition and an explicit definition. A cluster receiver has been received from the partner queue manager and used to override the manual
definition with an auto-defined channel.
Cluster queue managers based on a local cluster receiver channel definition have a DEFTYPE of CLUSRCVR.
Here's what is going on when you create your cluster...
1) Define clusrcvr TO.QM0 on QM0.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- none
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- none
2) Define clusrcvr TO.QM1 on QM1.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- none
3) Define clussdr TO.QM0 on QM1.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDR
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- none
The channel TO.QM0 on QM1 will be started automatically. QM1 sends its cluster receiver definition to QM0. QM0 uses that definition to auto-define a cluster sender to QM1.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDR
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- none
The channel TO.QM1 on QM0 will be started automatically. QM0 sends its cluster receiver definition to QM1. QM1 uses that definition to auto-define a cluster sender to QM0. As there is already a cluster queue manager object with DEFTYPE(CLUSSDR), that one is overridden and becomes a CLUSSDRB.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- none
4) Define clussdr TO.QM0 on QM2.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSSDR
5) Define clusrcvr TO.QM2 on QM2.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSSDR
- CLUSQMGR=QM2, DEFTYPE=CLUSRCVR
The channel TO.QM0 on QM2 will be started automatically. QM2 sends it's cluster receiver definition to QM0. QM0 uses that definition to auto-define a cluster sender to QM2.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
- CLUSQMGR=QM2, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSSDR
- CLUSQMGR=QM2, DEFTYPE=CLUSRCVR
The channel TO.QM2 on QM0 will be started automatically. QM0 sends it's cluster receiver definition to QM2. QM2 uses that definition to auto-define a cluster sender to QM0. As there is already a cluster queue manager object with DEFTYPE(CLUSSDR), that one is overridden and becomes a CLUSSDRB.
* "DIS CLUSQMGR(*) DEFTYPE" on QM0 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM1, DEFTYPE=CLUSSDRA
- CLUSQMGR=QM2, DEFTYPE=CLUSSDRA
* "DIS CLUSQMGR(*) DEFTYPE" on QM1 returns
- CLUSQMGR=QM1, DEFTYPE=CLUSRCVR
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
* "DIS CLUSQMGR(*) DEFTYPE" on QM2 returns
- CLUSQMGR=QM0, DEFTYPE=CLUSSDRB
- CLUSQMGR=QM2, DEFTYPE=CLUSRCVR
Shout if you need more detail.
Cheers,
Ian Vanstone |
|
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
|
|
|
|