Author |
Message
|
mqsme |
Posted: Tue Jul 21, 2015 2:04 pm Post subject: MQRC_UNKNOWN_OBJECT_NAME |
|
|
 Acolyte
Joined: 16 Sep 2013 Posts: 51
|
Hi,
I have application tried to put message to broker MQM BRK1 via clustered MQM HUB1 but message dropped to dead letter queue of HUB1.
Clustered MQM: BRK1
Clustered MQM: HUB1
Clustered MQ: MQ1 in BRK1
AMQ9544: Messages not put to destination queue.
EXPLANATION:
During the processing of channel 'CHL1' one or more messages
could not be put to the destination queue and attempts were made to put them to a dead-letter queue. The location of the queue is 1, where 1 is the local dead-letter queue and 2 is the remote dead-letter queue.
I examined message in dead letter queue of HUB1, with reason MQRC_UNKNOWN_OBJECT_NAME , original format is MQHMDE.
I confirm the cluster MQ MQ1 is there, can find it in the Queue Manager Clusters section in MQ explorer. But somehow message cannot reach MQM BRK1. Tried to run amqsput in HUB1 to put message to queue MQ1, message can reach MQM BRK1.
Q: Is it a mesage problem? what is MQHDME?
Q: Is it a cluster problem? I created MQ1 locally in HUB1 and it works, message can reach local queue HUB1. But message only failed when trying to reach clustered MQ1 in BRK1 |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Jul 21, 2015 10:03 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Please do not double post. This is a duplicate of http://www.mqseries.net/phpBB2/viewtopic.php?t=70603
If you post in the wrong forum then all you have to do is to post a reply asking for a moderator to move the post to the correct place. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
PaulClarke |
Posted: Tue Jul 21, 2015 11:00 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Well, first of all I don't think the MQHDME is anything to concern yourself about. It merely means the MQMD contains Version 2 fields and MQ has no where to put them. When you finally get the message and supply a Version 2 MQMD then you should find is disappears.
As for the routing problem I think you are going to have to give a few more details about what you are doing. MQ Clustering is very much point to point. ie. messages are sent from the source QM to the target QM. Going via another Queue Manager is a bit more tricky to arrange. Especially if that QM is also part of the same cluster.
The information we need are things like.....
How to you originally put the message, on what QM and what is your target?
For example are you specifying a target QM or just leaving it blank ?
When the message gets put to the DLQ what are the two Destination fields?. ie. where does MQ think it needs to be sending this message.
What alias queue/remote queue or queue manager alias' have you define in order to get the 'via' processing working.
Regards,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
mqsme |
Posted: Wed Jul 22, 2015 11:41 am Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2013 Posts: 51
|
Hi Paul,
Thanks for your reply.
How to you originally put the message, on what QM and what is your target?
>(have to check back to development team)
When the message gets put to the DLQ what are the two Destination fields?. ie. where does MQ think it needs to be sending this message.
>Orig Dest Queue Manager = HUB1
>Orig Des Queue = MQ1
What alias queue/remote queue or queue manager alias' have you define in order to get the 'via' processing working.
>It routes via clustering, no any alias / remote queue defined
And not sure whether it related. This is CLUSTER1, but hourly in AMQERR01.log, there is mesage about AMQ9420: No repositories for cluster CLUSTER2.
I know previously there is MQ wrongly defined as CLUSTER2 but now i corrected it back to CLUSTER1. Why i still get above message hourly? I tried Refresh Cluster(CLUSTER1) REPOS(No) but error message still there. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jul 22, 2015 11:58 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
mqsme wrote: |
>Orig Dest Queue Manager = HUB1 |
Well, there's your problem. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jul 22, 2015 12:55 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
mqsme wrote: |
And not sure whether it related. This is CLUSTER1, but hourly in AMQERR01.log, there is mesage about AMQ9420: No repositories for cluster CLUSTER2.
I know previously there is MQ wrongly defined as CLUSTER2 but now i corrected it back to CLUSTER1. Why i still get above message hourly? I tried Refresh Cluster(CLUSTER1) REPOS(No) but error message still there. |
Obviously you did not correctly remove the queue manager from CLUSTER2, or you would not still get the message in the log...
So do you have any of the following left over
- A cluster receiver for CLUSTER2
- A cluster sender for CLUSTER2
- A message for any queue manager on CLUSTER2 on any of the Cluster2 XMIT queues
- A queue still clustered in CLUSTER2
- Remember to not just check the Cluster field but also check the namelists in case you used CLUSNL...
Have fun sorting it all out  _________________ MQ & Broker admin |
|
Back to top |
|
 |
PaulClarke |
Posted: Wed Jul 22, 2015 1:19 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
As mqjeff says I think the target QM is probably your problem.
If you want clustering to route a message for you then you generally leave the target QM blank so MQ is free to choose. However, if you specify a target of, say, HUB1 then MQ has to try and deliver the message to HUB1. If you have no queue MQ1 defined on HUB1 then the message will get put to the DLQ since MQ can not satisfy the requirement.
I think your should concentrate on why the message is targetting HUB1
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
mqsme |
Posted: Fri Jul 24, 2015 2:54 pm Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2013 Posts: 51
|
@fjb_saper. all channel and queues checked. other than system queues, queue messages deleted. no namelist used, only have system namelist... it's just a painful hide and seek game
@Paul and mqjeff
Actually here has the MQM HUB1 acts as gateway, receives message from client MQM CLT1, then cluster can assign message to either MQM BRK1 or BRK2
Client MQM has a remote MQ, set HUB1 as remote queue manager and transmission queue name. It also as a sender channel with CLT1_HUB1(1424)
On Hub1, i have listener listening to 1424 and a receiver channel is also setup.
This configuration is working in production. Somehow when i setup a new testing environment, message failed at HUB1 dead letter queue. The client originally send message client MQM CLT1, so it seems MQ internal change Dest Queue Manager to HUB1..
still struggling on this toic.
 |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Jul 25, 2015 12:23 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
What you may have is a gateway queue manager that is missing a cluster alias.
There are a few ways this can be corrected. If the remote queue manager can change the destination queue manager to the cluster alias... fine. If this is not possible just a simple rule in the DLQ can take care of it:
Code: |
Reason(2085) action(fwd) fwdq(&destq) fwdqmgr('') header(no) |
However be careful with a rule like this... Make sure that if you cannot find the queue with a blank qmgr you get a 2087 and not a 2085...
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqsme |
Posted: Wed Jul 29, 2015 7:58 am Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2013 Posts: 51
|
Yes, you are right!
It is kind of queue manager alias issue..
the client used to send message to HUBALIAS, and originally i only have listener HUBALIAS but missing this QREMOTE definition
I added DEFINE QREMOTE(HUBALIAS) RNAME(' ') RQMNAME(' ')
Now i added it back message can reach BRK1 through clustering.
Thanks all. |
|
Back to top |
|
 |
|