Author |
Message
|
lrasalas01 |
Posted: Tue Aug 05, 2008 7:24 pm Post subject: Cannot put MQOutput message to alias queue |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
Hi,
I am testing a message flow which puts its MQOutput messages to an alias queue. I am getting following error while trying to propogate the message to destination queue.
Code: |
- <RecoverableException timestamp="2008-11-16 12:21:24.958734" thread="29" function="ImbMqOutputNode::putMessage" type="ComIbmMQOutputNode" name="IFOM200I_MSG_FLOW#FCMComposite_1_2" label="IFOM200I_MSG_FLOW.QA.IT02.CCPUTID" text="Failed to open queue" catalog="BIPv500" number="2604" file="/build/S500_P/src/DataFlowEngine/ImbMqOutputNode.cpp" line="1874">
<Insert type="string">QMCC01</Insert>
<Insert type="string">QA.IT02.CCPUTID</Insert>
<Insert type="integer">2</Insert>
<Insert type="integer">2082</Insert>
<Insert type="string">IFOM200I_MSG_FLOW.QA.IT02.CCPUTID</Insert>
</RecoverableException> |
I have two queue managers QMCC01 and QMID0101 in cluster CLCC. QMCC01 is the local queue. QA.IT02.CCPUTID is alias at QMCC01 for a local queue on QMID0101.
Definition of QA.IT02.CCPUTID alias is.
Code: |
DESCR(TYPE PUT Q) TARGQ(QC.IT01.IDGETCC)
CLUSTER(CLCC) CLUSNL( )
QUEUE(QA.IT02.CCPUTID) ALTDATE(2005-05-09)
ALTTIME(20.25.03) GET(ENABLED)
PUT(ENABLED) DEFPRTY(5)
DEFPSIST(NO) SCOPE(QMGR)
DEFBIND(NOTFIXED) TYPE(QALIAS) |
I am using MQOutput node to put output message on queue alias. I checked few things like channels between 2 queue managers; their status is 'running'. I also checked if alias actually exists or not; there is no issue with that.
Are there any other possible causes?
Thanks. |
|
Back to top |
|
 |
AkankshA |
Posted: Tue Aug 05, 2008 7:45 pm Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
mqrc 2082
2082 0x00000822 MQRC_UNKNOWN_ALIAS_BASE_Q _________________ Cheers |
|
Back to top |
|
 |
lrasalas01 |
Posted: Tue Aug 05, 2008 8:35 pm Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
AkankshA wrote: |
mqrc 2082
2082 0x00000822 MQRC_UNKNOWN_ALIAS_BASE_Q |
Thanks for the pointer.
Sorry I am new to MQ. How can I check the BaseQName for this alias queue. I didn't see any BaseQName attribute in the result of 'Display Queue..'.
Thanks. |
|
Back to top |
|
 |
AkankshA |
Posted: Tue Aug 05, 2008 9:49 pm Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
Base queue is the target queue to which alias queue points..
have you defined QC.IT01.IDGETCC queue on queue manager ?? _________________ Cheers |
|
Back to top |
|
 |
lrasalas01 |
Posted: Tue Aug 05, 2008 10:29 pm Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
Hi Akanksha,
Yes, QC.IT01.IDGETCC has been defined on QMID0101. Are there any reasons why QMCC01 might not *see* QC.IT01.IDGETCC? |
|
Back to top |
|
 |
AkankshA |
Posted: Tue Aug 05, 2008 10:44 pm Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
well.. in that case it should have worked..
tell me what are steps you have followed..
ideally u should have done as below
create/start QMs
create/start listener
create a cluster and channels
create a local queue on QM B and share that in cluster
craete a alias queue pointing to local queue created on QM B on QM A
put a msg in alias queue and it ll flow across to target local queue _________________ Cheers |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue Aug 05, 2008 10:56 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
try putting to the alias using amqsput or rfhutil, work from there to get it fixed... _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
David.Partridge |
Posted: Tue Aug 05, 2008 11:38 pm Post subject: |
|
|
 Master
Joined: 28 Jun 2001 Posts: 249
|
Assuming that you are able to put a message to the Q Alias using (e.g.) amqsput, and that the flow is still failing with MQRC 2082, ensure that you are *not* specifying the local (connected) QMGR name in the properties of the output node.
If you do populate the local QM name in there, you will prevent MQ name resolution resolving the Q Alias to a queue that is not local (e.g. a cluster queue on another QM), and it's a sure fire way to get a 2082 reason code. _________________ Cheers,
David C. Partridge |
|
Back to top |
|
 |
lrasalas01 |
Posted: Wed Aug 06, 2008 3:37 am Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
Thanks for the replies.
To give the heads up,
Akansha, we did exactly in that order. Just that those queue managers, clusters, channels and queues exist since 4 years.
Micheal,
I tried amqsput. It gives me reason code 2059.
David,
As you suggested, I checked the Queue manager name property of MQOutput node. It was set to QMCC01 (Local Queue manager). I set it to blank. Error from the trace has disappeared but worse thing is nothing happens: Just that message on CRST.1050 is being backed out relentlessly.
Currently looking for the reason behind all this. Please let me know if you guys have any suggestion.
Thanks. |
|
Back to top |
|
 |
AkankshA |
Posted: Wed Aug 06, 2008 3:55 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
check and paste the definition of target local queue here.. it should also be a cluster queue... _________________ Cheers |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 06, 2008 7:51 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Create the alias on the same qmgr as the targq and share the alias in the cluster. Don't remember if your setup works if you have multiple instances of the targq in the cluster:innocent: _________________ MQ & Broker admin |
|
Back to top |
|
 |
AkankshA |
Posted: Wed Aug 06, 2008 8:17 pm Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
Quote: |
Don't remember if your setup works if you have multiple instances of the targq in the cluster |
a cluster of 2 QMs
target queue is in cluster having existance on both the cluster QM's
target queue is shared in cluster
alias queue is not shared in cluster
Alias queue whenever receive the messages, puts it on local qmgr target queue
target queue is shared in cluster
alias queue is also shared in cluster
Alias queue whenever receive the messages, puts it on local qmgr target queue irrespective of the QM used for connecting
target queue is not shared in cluster
alias queue is shared in cluster
Alias queue whenever receive the messages, puts it on local qmgr target queue irrespective of the QM used for connecting _________________ Cheers |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 06, 2008 8:41 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
I was referring to following setup:
def ql(shared_base_q) cluster(mycluster) on QM1
def qa(myalias) targq(shared_base_q) on QM2. (you may need to have posted to the cluster q before so that QM2 is aware of it)...
This setup works (IIRC) for a cluster q with a unique instance in the cluster.
Never tried with multiple instances in the cluster.... _________________ MQ & Broker admin |
|
Back to top |
|
 |
Jinny |
Posted: Wed Aug 06, 2008 10:02 pm Post subject: |
|
|
Novice
Joined: 30 Jul 2008 Posts: 16
|
Is the local queue QMCC01 in the cluster CLCC?
Is the cluster sender channel "TO.QMID0101" status running on OMCC01? |
|
Back to top |
|
 |
lrasalas01 |
Posted: Thu Aug 07, 2008 2:51 am Post subject: |
|
|
Novice
Joined: 16 Jul 2008 Posts: 14
|
Hi all,
thanks for the replies.
Finally we recreated Qalias, Local Remote queue and tested again. The message is not being backed out but there is new problem now. Message just sits in System.Cluster.Transmit.Queue forever.
I checked the channels twice, thrice and they are working...
What could be the issue?  |
|
Back to top |
|
 |
|