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 » Multi Hopping -- why are these definitions not working??

Post new topic  Reply to topic
 Multi Hopping -- why are these definitions not working?? « View previous topic :: View next topic » 
Author Message
mq__quest
PostPosted: Thu Jun 14, 2018 12:21 pm    Post subject: Multi Hopping -- why are these definitions not working?? Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

Hello,

I have this setup and it works fine, routes msgs from QM1 --> QM2 --> QM3 --> QM4

QM1 CLUSTER1
DEFINE QR(TO.QM4.QR) RNAME(TO.QM4.QR) RQMNAME(QMALIAS)

QM2 CLUSTER1 (gateway qmgr)
DEFINE QR(QMALIAS) RNAME('') RQMNAME(QM3) XMITQ(QM3) CLUSTER(CLUSTER1)

QM3
DEFINE QR(TO.QM4.QR) RNAME(TO.QM4.QL) RQMNAME(QM4) XMITQ(QM4)

QM4
DEFINE QL(TO.QM4.QL)

On QM2, I alter the definitions to below and it stopped working. Msgs land in QM2 (gateway qmgr) dlq with the error MQRC_XMIT_Q_TYPE_ERROR. Could someone tell what's the flaw in my definitions?

DEFINE QR(QMALIAS) RNAME('') RQMNAME(AQM3) XMITQ('') CLUSTER(CLUSTER1)
DEFINE QR(AQM3) RNAME('') RQMNAME(QM3) XMITQ(QM3)


Last edited by mq__quest on Mon Jun 18, 2018 7:08 am; edited 1 time in total
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Jun 14, 2018 1:12 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

The dead-letter-header (DLH) of the message in the DLQ will specify the name of the "XMITQ" that is not an xmitq. Post here the complete DLH.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.


Last edited by bruce2359 on Mon Jun 18, 2018 1:22 pm; edited 1 time in total
Back to top
View user's profile Send private message
mq__quest
PostPosted: Thu Jun 14, 2018 4:31 pm    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

bruce2359 wrote:
The dead-letter-header (DLH) of the message in the DLQ will specify the name of the "XMITQ" that is not an xmitq. Post here the complete DLH.


mqrc 2091 MQRC_XMIT_Q_TYPE_ERROR
Original Destination QMGR: QMALIAS
Original Destination Queue: TO.QM4.QR
put Application Name: amqrmppa

This is all the DLH has. It doesn't say anything about xmitq.

on QM2, i have the xmitq "DEFINE QL(QM3) USAGE(XMITQ)"
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Jun 14, 2018 6:51 pm    Post subject: Reply with quote

Grand High Poobah

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

Well you are making a mess of the setup.
as you are in a cluster do not define an xmitq on your alias...
You are completely neglecting cluster routing but then having a cluster wide alias?... Not a good fit.

Either do point to point routing or do cluster routing. Refrain from mixing both until you master the subject of default routing much much better.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mq__quest
PostPosted: Fri Jun 15, 2018 6:43 am    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

What I'm trying to achieve is this, are my definitions correct?



QM1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS)

QM2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS)

GW1
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1)
DEFINE QR(EXT) RNAME('') RQMNAME(EXT1) XMITQ(EXT1)
DEFINE QL(EXT1) USAGE(XMITQ)

GW2
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1)
DEFINE QR(EXT) RNAME('') RQMNAME(EXT2) XMITQ(EXT2)
DEFINE QL(EXT2) USAGE(XMITQ)

EXT1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)

EX2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)

VENDOR
DEFINE QL(TO.VENDOR.QL)


Last edited by mq__quest on Mon Jun 18, 2018 6:54 am; edited 1 time in total
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Jun 16, 2018 1:12 pm    Post subject: Reply with quote

Grand High Poobah

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

These definitions are not correct.

On GW1 and GW2 you need to add the XMITQ to your QR(EXT).
The same way on EXT1 and EXT2 you need to add the XMITQ to your QR definition.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mq__quest
PostPosted: Mon Jun 18, 2018 6:58 am    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

fjb_saper wrote:
These definitions are not correct.

On GW1 and GW2 you need to add the XMITQ to your QR(EXT).
The same way on EXT1 and EXT2 you need to add the XMITQ to your QR definition.

Have fun


I did, updated the post. And defined required sdr-rcvr channels too.
Msgs end up in GW1 and GW2 dlq with the below DLH

MQRC 2091 MQRC_XMIT_Q_TYPE_ERROR
Original Dest Queue Manager: EXT.ALIAS
Original Dest Queue: TO.VENDOR.QR
Put App name: amqrmppa

is defining 2 QM Aliases on a qmgr valid?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Jun 18, 2018 10:24 pm    Post subject: Reply with quote

Grand High Poobah

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

Your problem is the missing xmitq and the destination is not in the cluster.

Code:
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT) CLUSTER(CLUSTER1)


In fact what you should have is following: on GW1/GW2

Code:
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) CLUSTER(CLUSTER1) RQMNAME(VENDOR) XMITQ (EXT1)
and on EXT1
DEFINE QL(VENDOR) USAGE(XMITQ) (and have it plugged into the channel to VENDOR)


Hope it helps

_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Tue Jun 19, 2018 5:45 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

mq__quest wrote:

is defining 2 QM Aliases on a qmgr valid?

Amqrmppa is the RCVR channel end attempting to resolve the xmitq name, and failing.

Yes, you can have many, many queue-manager aliases (QRemote) definitions in a qmgr; however, you cannot chain them together endlessly. Similarly, you cannot (successfully) have a QAlias resolve to another QAlias.

FJ's solution above combines your multiple, chained QRemote definitions into a single QR def.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
mq__quest
PostPosted: Tue Jun 19, 2018 7:49 am    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

Thanks guys. I got the below 2 setups working.

QM1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS) DEFBIND(NOTFIXED)
QM2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QR) RQMNAME(EXT.ALIAS) DEFBIND(NOTFIXED)
GW1
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT1) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT1) USAGE(XMITQ)
GW2
DEFINE QR(EXT.ALIAS) RNAME('') RQMNAME(EXT2) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT2) USAGE(XMITQ)
EXT1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
EX2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(VENDOR)
VENDOR
DEFINE QL(TO.VENDOR.QL)

-----------------------
QM1
DEFINE QR(TO.VENDOR.QA) TARGET(TO.VENDOR.QR) DEFBIND(NOTFIXED)
QM2
DEFINE QR(TO.VENDOR.QA) TARGET(TO.VENDOR.QR) DEFBIND(NOTFIXED)
GW1
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(EXT1) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT1) USAGE(XMITQ)
GW2
DEFINE QR(TO.VENDOR.QR) RNAME(TO.VENDOR.QL) RQMNAME(VENDOR) XMITQ(EXT2) CLUSTER(CLUSTER1) DEFBIND(NOTFIXED)
DEFINE QL(EXT2) USAGE(XMITQ)
EXT1
DEFINE QL(VENDOR) USAGE(XMITQ)
EX2
DEFINE QL(VENDOR) USAGE(XMITQ)
VENDOR
DEFINE QL(TO.VENDOR.QL)
Back to top
View user's profile Send private message
mq__quest
PostPosted: Tue Jun 19, 2018 7:56 am    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

With both setups, the messages are equally distributing across both the GW qmgrs and reaching the desitnation (VENDOR) qmgr.

But when I try to "dspmqrte", it doesn't show the complete message route, it finishes after exiting the GW qmgr. Is it not supposed to show the activity until the msg reaches the TO.VENDOR.QL?

dspmqrte -q TO.VENDOR.QR -m QM1
AMQ8653I: DSPMQRTE command started with options '-q TO.VENDOR.QR -m QM1'.
AMQ8659I: DSPMQRTE command successfully put a message on queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE', queue manager 'QM1'.
AMQ8674I: DSPMQRTE command is now waiting for information to display.
AMQ8666I: Queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' on queue manager 'QM1'.
AMQ8666I: Queue 'EXT1' on queue manager 'GW1'. --- After this line, it takes about 2 mins to display the last line. Is this how it works? or is there something wrong with the setup?
AMQ8652I: DSPMQRTE command has finished.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jun 19, 2018 8:53 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

So, the route msg arrives on GW1's EXT1 xmitq.

Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
mq__quest
PostPosted: Tue Jun 19, 2018 8:57 am    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

bruce2359 wrote:
So, the route msg arrives on GW1's EXT1 xmitq.

Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled?


All the channels are defined and the msgs i put using amqsput do reach the local queue on VENDOR qmgr. I just don't understand why the dspmqrte doesn't show it.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jun 19, 2018 9:41 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

mq__quest wrote:
bruce2359 wrote:
So, the route msg arrives on GW1's EXT1 xmitq.

Is the sdr channel from GW1 -> to EXT1 in RUNNING state? Does the sender channel specify EXT1 as its xmitq? Does the EXT1 qmgr object have trace-route enabled?


All the channels are defined and the msgs i put using amqsput do reach the local queue on VENDOR qmgr. I just don't understand why the dspmqrte doesn't show it.

In order for dspmqrte to provide a complete routing picture, there needs to be sender-receiver channels AND queue-manager aliases back from intermediate and destination qmgrs to the originating qmgr.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
mq__quest
PostPosted: Tue Jun 19, 2018 12:05 pm    Post subject: Reply with quote

Apprentice

Joined: 21 Aug 2017
Posts: 47

bruce2359 wrote:
In order for dspmqrte to provide a complete routing picture, there needs to be sender-receiver channels AND queue-manager aliases back from intermediate and destination qmgrs to the originating qmgr.


you're right. Thank you.

dspmqrte -q TO.VENDOR.QR -m QM1
AMQ8653I: DSPMQRTE command started with options '-q TO.VENDOR.QR -m QM1'.
AMQ8659I: DSPMQRTE command successfully put a message on queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE', queue manager 'QM1'.
AMQ8674I: DSPMQRTE command is now waiting for information to display.
AMQ8666I: Queue 'SYSTEM.CLUSTER.TRANSMIT.QUEUE' on queue manager 'QM1'.
AMQ8666I: Queue 'EXT2' on queue manager 'GW2'.
AMQ8666I: Queue 'VENDOR' on queue manager 'EXT2'.
AMQ8666I: Queue 'TO.VENDOR.QL' on queue manager 'VENDOR'.
AMQ8652I: DSPMQRTE command has finished.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Multi Hopping -- why are these definitions not working??
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.