Author |
Message
|
vijayaleads |
Posted: Wed Mar 19, 2008 3:48 pm Post subject: Unable to display all queues in cluster |
|
|
Novice
Joined: 10 Jan 2008 Posts: 22
|
Hi,
I have a strange problem dealing with MQclusters.
I have an existing qmgr "A" which was defined as a full repository and has cluster queue "queue1" and "queue2".
My requirement says I need to add the 2nd qmgr "B" in to a cluster which should be a partial repository.
It hosts a cluster queue "queue3". Both qmgrs are on different solaris boxes.
After creating all my definitions, I am trying to use the display qcluster commands to see all my queues in cluster.
On each box i don't see the cluster queues of other box.
Logs on my full repository manager says like this:
03/19/08 17:24:23 - Process(16582.1) User(STDRVRIP) Program(amqrrmfa)
AMQ9430: Unexpected cluster queue manager publication received.
EXPLANATION:
The local queue manager has received a cluster queue manager publication on
cluster cluster. The local queue manager should not have received the
publication because it does not host a repository for cluster cluster, it has
not subscribed to information concerning the published object, and the
published object does not match any of its CLUSSDRs. The queue manager that
sent the publication to the local queue manager has QMID
B_2008-03-19_14.16.04 (note that this is not necessarily the queue
manager which originated the publication). CLUSSDR channel TO.A was used
to send the publication.
ACTION:
Check the CLUSSDR definition on the sending queue manager to ensure that it
points to a repository queue manager for the cluster.
Logs on my partial reposioty qmgrs looks fine.
On Qmgr A:
Here are my Cluster definitions output.
Cluster Queues:
---------------
display qlocal(*) cluster
1 : display qlocal(*) cluster
AMQ8409: Display Queue details.
QUEUE(queue1) TYPE(QLOCAL)
CLUSTER(cluster)
AMQ8409: Display Queue details.
QUEUE(queue2) TYPE(QLOCAL)
CLUSTER(cluster)
Cluster Channels:
-----------------
AMQ8414: Display Channel details.
CHANNEL(TO.A) CHLTYPE(CLUSRCVR)
CLUSTER(cluster)
AMQ8414: Display Channel details.
CHANNEL(TO.B) CHLTYPE(CLUSSDR)
CLUSTER(cluster)
display clusqmgr(*)
4 : display clusqmgr(*)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(A) CHANNEL(TO.A)
CLUSTER(cluster)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(B) CHANNEL(TO.B)
CLUSTER(cluster)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(B) CHANNEL(TO.B)
CLUSTER(cluster)
When I do a display qcluster I see only "queue3". I don't see the other 2 queues that belong to qmgr B.
On Qmgr B:
Cluster Queues:
1 : display qlocal(*) cluster
AMQ8409: Display Queue details.
QUEUE(queue3) TYPE(QLOCAL)
CLUSTER(cluster)
Cluster Channels:
------------------
display qlocal(*) cluster
1 : display qlocal(*) cluster
AMQ8414: Display Channel details.
CHANNEL(TO.A) CHLTYPE(CLUSSDR)
CLUSTER(cluster)
AMQ8414: Display Channel details.
CHANNEL(TO.B) CHLTYPE(CLUSRCVR)
CLUSTER(cluster)
display clusqmgr(*)
4 : display clusqmgr(*)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(B) CHANNEL(TO.B)
CLUSTER(cluster)
AMQ8441: Display Cluster Queue Manager details.
CLUSQMGR(SYSTEM.TEMPQMGR.10.158.14.35(1414))
CHANNEL(TO.A) CLUSTER(cluster)
when I do a display qcluster(*), I see only queue1 and queue2. i don't see queue3 here.
I am not able to understand what's going wrong here.If possible please help me with your valuable suggestions.
Thanks,
Vijaya |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Mar 19, 2008 8:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You need to run
dis clusqmgr(*) qmtype
This will tell you what your full repositories are.
You should not create cluster sender pointing to a PR. The clustersender you define should always point to a FR.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
vijayaleads |
Posted: Mon Mar 24, 2008 11:49 am Post subject: |
|
|
Novice
Joined: 10 Jan 2008 Posts: 22
|
The requirement was later changed and we have a normal operating cluster and i am able to see all the cluster queues.
On qmgrs A:
----------
I have queue1 and queue2.
On qmgr B:
----------
I have queue3.
A and B are full repositories.
Is there any difference in using the amqsput sample utility on a clustered queue and a normal remote queue in a distributed environemnt?
On queue manager B, i am trying to an amqsput on queue1 which is a cluster queue. None of the sample messages are going to the target queue on other machine.
When I do a display clusqmgr(*) , i am able to see both the qmgrs as full repositories.
I have both my cluster sender channels UP and when I do a display qcluster(*), i am able to see all cluster queues on both machines.
All my cluster channels are up and running.
The funny thing I see in logs is the cluster sender channel to A "TO.A" is ended.
EXPLANATION:
The operation requested cannot be performed on channel 'TO.A'. Some
operations are only valid for certain channel types. For example, you can only
ping a channel from the end sending the message.
ACTION:
Check whether the channel name is specified correctly. If it is check that the
channel has been defined correctly.
----- amqrmsaa.c : 1090 -------------------------------------------------------
03/24/08 13:40:07 - Process(17744.248233) User(mqm) Program(amqrmppa)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'TO.A' ended abnormally.
ACTION:
Look at previous error messages for channel program 'TO.SASA02MD' in the error
files to determine the cause of the failure.
Any advises please ..
vijaya
Last edited by vijayaleads on Tue Mar 25, 2008 7:27 am; edited 1 time in total |
|
Back to top |
|
 |
Vitor |
Posted: Mon Mar 24, 2008 1:31 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
vijayaleads wrote: |
Is there any difference in using the amqsput sample utility on a clustered queue and a normal remote queue in a distributed environemnt? |
No.
vijayaleads wrote: |
I have both my cluster sender channels UP and when I do a display qcluster(*), i am able to see all cluster queues on both machines.
All my cluster channels are up and running.
The funny thing I see in logs is the cluster sender channel to A "TO.A" is ended. |
So they're all running. Apart from the one that isn't?
Check the log file as suggested. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
vijayaleads |
Posted: Tue Mar 25, 2008 8:13 am Post subject: |
|
|
Novice
Joined: 10 Jan 2008 Posts: 22
|
Thanks vitor.
The application code is provided by a 3rd party vendor and when the app is trying to connect my qmgr, They get the following error code.
An MQException occurred: Completion Code 2, Reason 2009
MQJE016: MQ queue manager closed channel immediately during connect
Closure reason = 2009
MQJE001.
In my logs I see
03/25/08 07:56:28 - Process(15669.53993) User(mqm) Program(amqrmppa)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
"AMQERR01.LOG" 2839 lines, 119740 characters
channel has been defined correctly.
MQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'TO.A' ended abnormally.
ACTION:
Look at previous error messages for channel program 'TO.A' in the error
files to determine the cause of the failure.
I actually see my channels are idle and if I start them manually, They are running fine.
Still the app throws the same error. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Mar 25, 2008 8:17 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Look at logs on both sides of the channel. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Mar 25, 2008 8:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
vijayaleads wrote: |
The application code is provided by a 3rd party vendor and when the app is trying to connect my qmgr, They get the following error code.
An MQException occurred: Completion Code 2, Reason 2009
|
You said before TO.A is a cluster sender channel. How is this even slightly connected to an application throwing a 2009?
Search the forum for 2009 errors - it's a common topic. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
vijayaleads |
Posted: Tue Mar 25, 2008 10:12 am Post subject: |
|
|
Novice
Joined: 10 Jan 2008 Posts: 22
|
Exactly..
TO.A is an Cluster-Sender channel.
the strange thing is the code which the developer is using has a config file for request where he uses some MQ parameters. The file has a Channel-name parameter where these guys are using the name of a cluster-sender channel.
<hgmux name = "MC-IN" >
<mux connect = "true"
follow = "false"
keyfieldformattype="4"
DisconnectOnParseError = "false" />
<packager class = "com.orbiscom.hg.packager.GenericPackager" xlink:href = "packager/mastercardpack"/>
<channel class = "com.orbiscom.hg.mq.MQChannel"
HeaderLength="0" >
<Connector
Class="com.orbiscom.mqseries.MQConnectorFactory"
Hostname="10.158.128.167"
Channel="TO.A"
UserId="incontrol"
QueueManager="B"
QueueName="queue3"
Password=""
Port="1414"
QueueType="MQ_READ">
</Connector>
</channel>
<handlers xlink:href = "handlers/paymastermc/Paymaster-Network"/>
<panrange xlink:href = "range/panrange"/>
<message class="com.orbiscom.hg.handler.paymastermc.PaymastermcMessage"/>
</hgmux>
when the developer uses "TO.A" in his config file, It throws a 2009 error on the app side. On my logs, I see that this channel
03/25/08 13:06:21 - Process(15669.63911) User(mqm) Program(amqrmppa)
AMQ9502: Type of channel not suitable for action requested.
EXPLANATION:
The operation requested cannot be performed on channel 'TO.A'. Some
operations are only valid for certain channel types. For example, you can only
ping a channel from the end sending the message.
ACTION:
Check whether the channel name is specified correctly. If it is check that the
channel has been defined correctly.
----- amqrmsaa.c : 1155 -------------------------------------------------------
03/25/08 13:06:21 - Process(15669.63911) User(mqm) Program(amqrmppa)
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'TO.A' ended abnormally.
ACTION:
Look at previous error messages for channel program 'TO.A' in the error
files to determine the cause of the failure.
2009 is a common error often related to clients connecting to qmgrs. I told we should not use a Cluster-sender channel...and may be a svrconn channel would be a fit, if defined.
Everthing is new here including me and the developers had the least knowledge on configuring there code.
I am in trouble.. 
Last edited by vijayaleads on Tue Mar 25, 2008 10:26 am; edited 1 time in total |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Mar 25, 2008 10:15 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
vijayaleads wrote: |
we should not use a Cluster-sender channel...and may be a svrconn channel would be a fit |
Yes.
To further. There is no such thing as an MQ cluster, as far as a client application is concerned.
There is only the queue manager that it connects to (a single queue manager at a time, please), the qlocals that are on that queue manager that it can GET from, and everything else that it can PUT to. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vijayaleads |
Posted: Tue Mar 25, 2008 12:07 pm Post subject: |
|
|
Novice
Joined: 10 Jan 2008 Posts: 22
|
|
Back to top |
|
 |
|