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 » Configur remote q to link an alias q

Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6  Next
 Configur remote q to link an alias q « View previous topic :: View next topic » 
Author Message
bruce2359
PostPosted: Sat Jan 19, 2019 9:28 am    Post subject: Reply with quote

Poobah

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

Where did you test? Which qmgr?


Instead of the MQExplorer to test, from a shell execute amqsput qmane qmgrname. Then post the entire conversation (prompts and replies) here.
_________________
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
bruce2359
PostPosted: Sat Jan 19, 2019 9:55 am    Post subject: Reply with quote

Poobah

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

So, on D, you attempt to put a message to this QRemote def:

QM D: DEFINE QREMOTE(RQ_T24) RNAME(LQ_ESB_OUT) RQMNAME(RQ_TO_ESB) XMITQ(TQ_IN) CLUSTER(‘ ‘) REPLACE

Rather than post your MQSC command definition, please use runqmsc to display QL(TQ_IN) and QR(RQ_T24), then post the output from the display commands here.

Does transmission queue TQ_IN exist? What is its current depth?
_________________
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
bruce2359
PostPosted: Sat Jan 19, 2019 10:21 am    Post subject: Reply with quote

Poobah

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

Two other questions for you: are you new to IBM MQ? Have you taken any training in MQ concepts?
_________________
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
hughson
PostPosted: Sat Jan 19, 2019 1:10 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

hisham.rakha wrote:
hughson wrote:
I suspect you have not been able to resolve the RQMNAME(GWYMQSTG). Do you have a definition that resolves this? I expect a QREMOTE with a blank RQMNAME on QMD perhaps?

Cheers,
Morag

What do you mean by I'm unable to resolve RQMNAME(GWYMQSTG)?? Can you address me to validate this?


What I mean is that 'GWYMQSTG' is not the name of an actual queue manager, and so you have to tell MQ what to do with this name when it sees it. Unless of course, that is the actual queue manager name??

In the further examples you sent us:-

hisham.rakha wrote:
QM D: DEFINE QREMOTE(RQ_T24) RNAME(LQ_ESB_OUT) RQMNAME(RQ_TO_ESB) XMITQ(TQ_IN) CLUSTER(' ') REPLACE ;
QM C: DEFINE QREMOTE(RQ_TO_ESB) RNAME(' ') RQMNAME(ESBQMDC1) XMITQ(TQ_GTWY_IN) CLUSTER(GTWYCLUSTER) REPLACE ;


Notice how the QREMOTE(RQ_T24) has an RQMNAME(RQ_TO_ESB) which is not a real queue manager name, and then the next definition tells MQ what RQ_TO_ESB actually means.

So in your broken example you have shown us:-

hisham.rakha wrote:
QM D:
DEFINE QREMOTE (RQ_ESB) RNAME(AQ_OUT) RQMNAME(GWYMQSTG) XMITQ(TQ_IN) CLUSTER(' ') REPLACE ;

QM C:
DEFINE QALIAS(AQ_OUT) TARGQ(LQ_OUT) CLUSTER(GTWYCLUSTER)


I expect you are missing a definition on QM C something along these lines:-

Code:
DEFINE QREMOTE(GWYMQSTG) RNAME(' ') RQMNAME(QMC)


I would have expected your test message to be on QMC either in a DLQ or on the DEFXMITQ. Have you checked both of those? Assume you have DLQs defined?

Check with

Code:
DISPLAY QMGR DEADQ DEFXMITQ


and then check the contents of both referenced queues.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
hisham.rakha
PostPosted: Sat Jan 19, 2019 11:33 pm    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

[quote]
Quote:
[quote="bruce2359"]You seem unwilling to answer questions you have been asked.

Exactly how did you test? What application did you use? For each MQ call the app issues, the application is returned CompletionCode and ReasonCode. What ReasonCode did you receive when you executed the app?


[quote]Please advice, I found the msgs located @ DLQ on gateway QM C with below error

MQRC_UNKNOWN_ALIAS_BASE_Q


Last edited by hisham.rakha on Sun Jan 20, 2019 12:30 am; edited 1 time in total
Back to top
View user's profile Send private message
hisham.rakha
PostPosted: Sun Jan 20, 2019 12:25 am    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

@bruce2359 @Hughson, I have assigned new DLQ for the gateway QM C and I sent test msg from MQ explorer from QM D and the msg has been located @ DLQ QM C with below error, I have searched for the error and found to change the Alias Q BIND to NOTFIXED but it did not resolve the problem.

MQRC_UNKNOWN_ALIAS_BASE_Q[/quote]
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun Jan 20, 2019 4:57 am    Post subject: Reply with quote

Poobah

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

hisham.rakha wrote:
@bruce2359 @Hughson, I have assigned new DLQ for the gateway QM C and I sent test msg from MQ explorer from QM D and the msg has been located @ DLQ QM C with below error, MQRC_UNKNOWN_ALIAS_BASE_Q

Please post the entire dead-letter-header (DHL) here.

A QAlias allows you to have another name for a queue - the TARGET of the QAlias. The ReasonCode in the DLH indicates that the TARGET(name) attribute of the QAlias definition could not be found.

Browse again the dead-letter-header (DLH ) using the MQExplorer. What was the queue name that did not resolve?
hisham.rakha wrote:
I have searched for the error and found to change the Alias Q BIND to NOTFIXED but it did not resolve the problem.

BIND option not the cause. Why did you believe BIND option would fix this? Did you find a URL that suggested altering the BIND option? If so, post the URL here.
_________________
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
hughson
PostPosted: Sun Jan 20, 2019 1:30 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

hisham.rakha wrote:
I have assigned new DLQ for the gateway QM C and I sent test msg from MQ explorer from QM D and the msg has been located @ DLQ QM C with below error, I have searched for the error and found to change the Alias Q BIND to NOTFIXED but it did not resolve the problem.

MQRC_UNKNOWN_ALIAS_BASE_Q


Here is the description of MQRC_UNKNOWN_ALIAS_BASE_Q

IBM Knowledge Center wrote:
2082 (0822) (RC2082): MQRC_UNKNOWN_ALIAS_BASE_Q
Explanation

An MQOPEN or MQPUT1 call was issued specifying an alias queue as the target, but the BaseQName in the alias queue attributes is not recognized as a queue name.

This reason code can also occur when BaseQName is the name of a cluster queue that cannot be resolved successfully.

MQRC_UNKNOWN_ALIAS_BASE_Q might indicate that the application is specifying the ObjectQmgrName of the queue manager that it is connecting to, and the queue manager that is hosting the alias queue. This means that the queue manager looks for the alias target queue on the specified queue manager and fails because the alias target queue is not on the local queue manager. Leave the ObjectQmgrName parameter blank so that the clustering decides which queue manager to route to.

Completion code
MQCC_FAILED

Programmer response
Correct the queue definitions.


We know from your original question that your alias queue is defined as follows:
hisham.rakha wrote:
DEFINE QALIAS(AQ_OUT) TARGQ(LQ_OUT) CLUSTER(GTWYCLUSTER)


Assuming that this LQ_OUT queue is indeed defined on QMA and QMB as you say it is, and that QMC can see it, I suspect you are failing because the ObjectQmgrName is filled in with GWYMQSTG as per the other definition you provided us with.

hisham.rakha wrote:
DEFINE QREMOTE (RQ_ESB) RNAME(AQ_OUT) RQMNAME(GWYMQSTG) XMITQ(TQ_IN) CLUSTER(' ') REPLACE


As @bruce2359 has requested, the entire Dead-letter header would help in diagnosing this.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
hisham.rakha
PostPosted: Tue Jan 22, 2019 4:42 am    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

bruce2359 wrote:
hisham.rakha wrote:
@bruce2359 @Hughson, I have assigned new DLQ for the gateway QM C and I sent test msg from MQ explorer from QM D and the msg has been located @ DLQ QM C with below error, MQRC_UNKNOWN_ALIAS_BASE_Q

Please post the entire dead-letter-header (DHL) here.

A QAlias allows you to have another name for a queue - the TARGET of the QAlias. The ReasonCode in the DLH indicates that the TARGET(name) attribute of the QAlias definition could not be found.

Browse again the dead-letter-header (DLH ) using the MQExplorer. What was the queue name that did not resolve?
hisham.rakha wrote:
I have searched for the error and found to change the Alias Q BIND to NOTFIXED but it did not resolve the problem.

BIND option not the cause. Why did you believe BIND option would fix this? Did you find a URL that suggested altering the BIND option? If so, post the URL here.


DLH:
00000 44 4C 48 20 00 00 00 01--00 00 07 D1 41 51 5F 54 |DLH .......LQ|
00010 32 34 5F 4F 55 54 20 20--20 20 20 20 20 20 20 20 |_OUT |
00020 20 20 20 20 20 20 20 20--20 20 20 20 20 20 20 20 | |
00030 20 20 20 20 20 20 20 20--20 20 20 20 47 57 59 4D | GWYMQSTG|
00040 51 30 31 53 54 47 44 43--31 20 20 20 20 20 20 20 | |
00050 20 20 20 20 20 20 20 20--20 20 20 20 20 20 20 20 | |
00060 20 20 20 20 20 20 20 20--20 20 20 20 00 00 02 22 | ..."|
00070 00 00 04 B8 4D 51 53 54--52 20 20 20 00 00 00 06 |...¸MQSTR ....|
00080 61 6D 71 72 6D 70 70 61--20 20 20 20 20 20 20 20 |amqrmppa |
00090 20 20 20 20 20 20 20 20--20 20 20 20 32 30 31 39 | 2019|
000A0 30 31 32 32 31 32 33 39--32 31 37 39 66 66 66 |012212392179fff |

the URL: https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.tro.doc/q039230_.htm


Last edited by hisham.rakha on Tue Jan 22, 2019 5:10 am; edited 2 times in total
Back to top
View user's profile Send private message
hisham.rakha
PostPosted: Tue Jan 22, 2019 4:53 am    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

hughson wrote:
hisham.rakha wrote:
I have assigned new DLQ for the gateway QM C and I sent test msg from MQ explorer from QM D and the msg has been located @ DLQ QM C with below error, I have searched for the error and found to change the Alias Q BIND to NOTFIXED but it did not resolve the problem.

MQRC_UNKNOWN_ALIAS_BASE_Q


Here is the description of MQRC_UNKNOWN_ALIAS_BASE_Q

IBM Knowledge Center wrote:
2082 (0822) (RC2082): MQRC_UNKNOWN_ALIAS_BASE_Q
Explanation

An MQOPEN or MQPUT1 call was issued specifying an alias queue as the target, but the BaseQName in the alias queue attributes is not recognized as a queue name.

This reason code can also occur when BaseQName is the name of a cluster queue that cannot be resolved successfully.

MQRC_UNKNOWN_ALIAS_BASE_Q might indicate that the application is specifying the ObjectQmgrName of the queue manager that it is connecting to, and the queue manager that is hosting the alias queue. This means that the queue manager looks for the alias target queue on the specified queue manager and fails because the alias target queue is not on the local queue manager. Leave the ObjectQmgrName parameter blank so that the clustering decides which queue manager to route to.

Completion code
MQCC_FAILED

Programmer response
Correct the queue definitions.


We know from your original question that your alias queue is defined as follows:
hisham.rakha wrote:
DEFINE QALIAS(AQ_OUT) TARGQ(LQ_OUT) CLUSTER(GTWYCLUSTER)


Assuming that this LQ_OUT queue is indeed defined on QMA and QMB as you say it is, and that QMC can see it, I suspect you are failing because the ObjectQmgrName is filled in with GWYMQSTG as per the other definition you provided us with.

hisham.rakha wrote:
DEFINE QREMOTE (RQ_ESB) RNAME(AQ_OUT) RQMNAME(GWYMQSTG) XMITQ(TQ_IN) CLUSTER(' ') REPLACE


As @bruce2359 has requested, the entire Dead-letter header would help in diagnosing this.

Cheers,
Morag


DLH
00000 44 4C 48 20 00 00 00 01--00 00 07 D1 41 51 5F 54 |DLH .......LQ|
00010 32 34 5F 4F 55 54 20 20--20 20 20 20 20 20 20 20 |_OUT |
00020 20 20 20 20 20 20 20 20--20 20 20 20 20 20 20 20 | |
00030 20 20 20 20 20 20 20 20--20 20 20 20 47 57 59 4D | GWYMQSTG|
00040 51 30 31 53 54 47 44 43--31 20 20 20 20 20 20 20 | |
00050 20 20 20 20 20 20 20 20--20 20 20 20 20 20 20 20 | |
00060 20 20 20 20 20 20 20 20--20 20 20 20 00 00 02 22 | ..."|
00070 00 00 04 B8 4D 51 53 54--52 20 20 20 00 00 00 06 |...¸MQSTR ....|
00080 61 6D 71 72 6D 70 70 61--20 20 20 20 20 20 20 20 |amqrmppa |
00090 20 20 20 20 20 20 20 20--20 20 20 20 32 30 31 39 | 2019|
000A0 30 31 32 32 31 32 33 39--32 31 37 39 66 66 66 |012212392179fff |
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jan 22, 2019 6:41 am    Post subject: Reply with quote

Poobah

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

On the qmgr where you found the DLH, use MQSC command to display the queue object LQ_OUT with all of its attributes and attribute values:
Code:
 DISPLAY Q(LQ_OUT)

then post the complete results here.
_________________
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
hisham.rakha
PostPosted: Tue Jan 22, 2019 7:15 am    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

bruce2359 wrote:
On the qmgr where you found the DLH, use MQSC command to display the queue object LQ_OUT with all of its attributes and attribute values:
Code:
 DISPLAY Q(LQ_OUT)

then post the complete results here.


HYG, Noting that LQ_OUT is defined only on QM A & B

dis ql(LQ_OUT)
1 : dis ql(LQ_OUT)
AMQ8409: Display Queue details.
QUEUE(LQ_OUT) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2019-01-22)
ALTTIME(13.40.49) BOQNAME(LQ_OUT_BO)
BOTHRESH(0) CLUSNL( )
CLUSTER(GTWYCLUSTER) CLCHNAME( )
CLWLPRTY(0) CLWLRANK(0)
CLWLUSEQ(QMGR) CRDATE(2017-10-26)
CRTIME(14.43.57) CURDEPTH(0)
CUSTOM( ) DEFBIND(NOTFIXED)
DEFPRTY(0) DEFPSIST(NO)
DEFPRESP(SYNC) DEFREADA(NO)
DEFSOPT(SHARED) DEFTYPE(PREDEFINED)
DESCR( ) DISTL(NO)
GET(ENABLED) HARDENBO
INITQ( ) IPPROCS(1)
MAXDEPTH(999999999) MAXMSGL(4194304)
MONQ(QMGR) MSGDLVSQ(PRIORITY)
NOTRIGGER NPMCLASS(NORMAL)
OPPROCS(0) PROCESS( )
PUT(ENABLED) PROPCTL(COMPAT)
QDEPTHHI(80) QDEPTHLO(20)
QDPHIEV(DISABLED) QDPLOEV(DISABLED)
QDPMAXEV(ENABLED) QSVCIEV(NONE)
QSVCINT(999999999) RETINTVL(999999999)
SCOPE(QMGR) SHARE
STATQ(QMGR) TRIGDATA( )
TRIGDPTH(1) TRIGMPRI(0)
TRIGTYPE(FIRST) USAGE(NORMAL)
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jan 22, 2019 8:09 am    Post subject: Reply with quote

Poobah

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

The DLH is telling you that your test sent a message to a queue named LQ_OUT, on a qmgr named GWYMQSTG; but, the message arrived on qmgr QMC.

The message channel agent (amqrmppa) on QMC could not resolve the qmgr named GWYMQSTG in the transmission queue header (XQH), so the message was MQPUT to the DLQ. Working as designed and documented.

One QMC use MQSC display command to display the queue-manager-alias (QRemote definition) that resolves GWYMQSTG to QMC.
_________________
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
hisham.rakha
PostPosted: Tue Jan 22, 2019 8:37 am    Post subject: Reply with quote

Apprentice

Joined: 13 Nov 2018
Posts: 39

bruce2359 wrote:
The DLH is telling you that your test sent a message to a queue named LQ_OUT, on a qmgr named GWYMQSTG; but, the message arrived on qmgr QMC.

The message channel agent (amqrmppa) on QMC could not resolve the qmgr named GWYMQSTG in the transmission queue header (XQH), so the message was MQPUT to the DLQ. Working as designed and documented.

One QMC use MQSC display command to display the queue-manager-alias (QRemote definition) that resolves GWYMQSTG to QMC.

Do you mean on QM D ? as the Remote Q defined on QM D to RNAME the Alias Q which I need to route the msg into QM A or QM B

QM D
DEFINE QREMOTE (RQ_ESB) RNAME(AQ_OUT) RQMNAME(GWYMQSTG) XMITQ(TQ_IN) CLUSTER(' ') REPLACE

QM C
DEFINE QALIAS(AQ_OUT) TARGQ(LQ_OUT) CLUSTER(GTWYCLUSTER)
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jan 22, 2019 9:20 am    Post subject: Reply with quote

Poobah

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

Let’s start over. Was the message supposed to arrive on QMC? If not, then look at your QR definitions on the qmgr where you created the test message.

Use MQSC to display all of the attributes of the QR that you use to put a test message. Post results here.
_________________
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
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4, 5, 6  Next Page 2 of 6

MQSeries.net Forum Index » Clustering » Configur remote q to link an alias q
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.