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 » General IBM MQ Support » IBM B2Bi can not connect to Multi instance Queue Manager

Post new topic  Reply to topic
 IBM B2Bi can not connect to Multi instance Queue Manager « View previous topic :: View next topic » 
Author Message
ghoshly
PostPosted: Mon Apr 12, 2021 1:35 pm    Post subject: IBM B2Bi can not connect to Multi instance Queue Manager Reply with quote

Partisan

Joined: 10 Jan 2008
Posts: 325

We have Multi instance Queue Manager (v8.0.0.14) running on AIX 7.2.

We have created Server Connection channel and Client connection channel with the same name and client connection channel has both the host names and port in CONNAME property. When the queue manager is active on host1, B2Bi can put message to designated queue, as well as get message from other queue as required. However, when our queue manager fails over to alternate host / node, B2Bi is not able to connect.

We have shared AMQCLCHL.TAB file from MQ server to B2Bi server and set the environment variables MQCHLLIB and MQCHLTAB in B2Bi machine. We tried MQ Server environment variable in B2Bi server as well

Code:
 export MQSERVER=EDI.SVRCONN/TCP/host1(1415), host2(1415) 


If they are using host1 in B2Bi config, they are getting RC 2538 (MQRC_HOST_NOT_AVAILABLE), if they are using host2 value, they are getting RC 2540 (MQRC_UNKNOWN_CHANNEL_NAME). B2Bi application is running on Linux and is on v6.0.3. Would you please help to identify what we are missing or how we can take proper trace to identify the issue?

Channel definition as followed :
Code:

display channel(EDI.SVRCONN)
1 : display channel(EDI.SVRCONN)
AMQ8414: Display Channel details.

CHANNEL(EDI.SVRCONN) CHLTYPE(SVRCONN)ALTDATE(2021-04-07) ALTTIME(09.28.45)CERTLABL( ) COMPHDR(NONE)COMPMSG(NONE) DESCR( )DISCINT(0) HBINT(300)KAINT(AUTO) MAXINST(999999999)MAXINSTC(999999999) MAXMSGL(4194304)MCAUSER( ) MONCHL(QMGR)RCVDATA( ) RCVEXIT( )SCYDATA( ) SCYEXIT( )SENDDATA( ) SENDEXIT( )SHARECNV(10) SSLCAUTH(REQUIRED)SSLCIPH( ) SSLPEER( )TRPTYPE(TCP)

AMQ8414: Display Channel details.

CHANNEL(EDI.SVRCONN) CHLTYPE(CLNTCONN)AFFINITY(PREFERRED) ALTDATE(2021-04-07)ALTTIME(17.49.50) CERTLABL( )CLNTWGHT(0) COMPHDR(NONE)COMPMSG(NONE)CONNAME( host1(1415), host2(1415))DEFRECON(NO) DESCR( )HBINT(300) KAINT(AUTO)LOCLADDR( ) MAXMSGL(4194304)MODENAME( ) PASSWORD( )QMNAME( ) RCVDATA( )RCVEXIT( ) SCYDATA( )SCYEXIT( ) SENDDATA( )SENDEXIT( ) SHARECNV(10)SSLCIPH( ) SSLPEER( )TPNAME( ) TRPTYPE(TCP)USERID( )
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Apr 12, 2021 11:52 pm    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

The MQSERVER variable will over-ride the MQCHLLIB/MQCHLTAB variables (due to order of precedence), so you need to unset the MQSERVER variable.

And I suggest you remove the leading and trailing spaces from your channel definition:

Current: CONNAME(' host1(1415), host2(1415)')

Preferred: CONNAME('host1(1415),host2(1415)')
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Apr 13, 2021 9:34 am    Post subject: Reply with quote

Grand High Poobah

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

exerk wrote:
The MQSERVER variable will over-ride the MQCHLLIB/MQCHLTAB variables (due to order of precedence), so you need to unset the MQSERVER variable.

And I suggest you remove the leading and trailing spaces from your channel definition:

Current: CONNAME(' host1(1415), host2(1415)')

Preferred: CONNAME('host1(1415),host2(1415)')


And you should verify, because if your client is on MQ version 6.x, I believe the host(port),host(port) notation for conname was introduced in MQ Version 7?
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
exerk
PostPosted: Tue Apr 13, 2021 9:36 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

fjb_saper wrote:
exerk wrote:
The MQSERVER variable will over-ride the MQCHLLIB/MQCHLTAB variables (due to order of precedence), so you need to unset the MQSERVER variable.

And I suggest you remove the leading and trailing spaces from your channel definition:

Current: CONNAME(' host1(1415), host2(1415)')

Preferred: CONNAME('host1(1415),host2(1415)')


And you should verify, because if your client is on MQ version 6.x, I believe the host(port),host(port) notation for conname was introduced in MQ Version 7?

Good spot, as usual
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
hughson
PostPosted: Tue Apr 13, 2021 3:25 pm    Post subject: Re: IBM B2Bi can not connect to Multi instance Queue Manager Reply with quote

Padawan

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

ghoshly wrote:
We have Multi instance Queue Manager (v8.0.0.14) running on AIX 7.2.

When our queue manager fails over to alternate host / node, B2Bi is not able to connect.

If they are using host1 in B2Bi config, they are getting RC 2538 (MQRC_HOST_NOT_AVAILABLE), if they are using host2 value, they are getting RC 2540 (MQRC_UNKNOWN_CHANNEL_NAME).


When the queue manager fails over to host2, getting RC 2538 (MQRC_HOST_NOT_AVAILABLE) if you try to connect to host1 seems fair enough.

When the queue manager fails over to host2, getting RC 2540 (MQRC_UNKNOWN_CHANNEL_NAME) sounds like an issue.

You have told us that this is a Multi-instance Queue Manager, so it should not be possible for the channel in question to exist when the queue manager is running on host1 but not exist when the queue manager is running on host2, since both instances of the queue manager should be using the same persistent state and should therefore both have the channel definition.

This suggests to me that either you don't have a Multi-instance queue manager, or the host2 address (and port) that you are using is pointing to a different queue manager.

Do you have another queue manager running on host2 as well? Is it possible that this other queue manager is using the port number you want to use?

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
ghoshly
PostPosted: Wed Apr 14, 2021 6:24 am    Post subject: Reply with quote

Partisan

Joined: 10 Jan 2008
Posts: 325

Thanks All for your responses.. We re-created the channels without any space in between, but still getting error when I switch over the queue manager to host 2 which is m24n4..

Code:

Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2540;AMQ9204: Connection to host 'xxx-m24n4.na.xxxcorp.net(1415)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2540;AMQ9520: Channel not defined remotely. [3=EDI.SVRCONN         ]],3=xxx-m24n4.na.xxxcorp.net(1415),5=RemoteConnection.analyseErrorSegment]
        at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java:2275)


@morag - Yes we do have other queue manager in the server which is similar to the one in question, I am shutting that queue manager and give it a try because it also has the same listener with same port.
Back to top
View user's profile Send private message
ghoshly
PostPosted: Wed Apr 14, 2021 12:08 pm    Post subject: MQ v9 jar used Reply with quote

Partisan

Joined: 10 Jan 2008
Posts: 325

Still B2Bi team is experiencing rejection to connect to MQ queue manager

Code:

[2021-04-14 11:01:30.98] ALL <WSMQAsyncRcv-SDX_ESB_ASYNC_RCV_Adapter-xxxxx-b2bxxxx1:53959375:178d0736f80:3ac6-72718915> ##[DEBUG]## Attempting to open a connection with the following values:
MQEnvironment version_notice=IBM MQ classes for Java v9.0.0.7
hostname=xxxxx-m24n4.na.xxxcorp.net
port=1415
qManager=QMIIB01
channel=EDI.SVRCONN
userid=bidb2bcc
password provided
CCSID=1208

[2021-04-14 11:01:30.986] ERROR <WSMQAsyncRcv-SDX_ESB_ASYNC_RCV_Adapter-72718915> MQException during MQCONN: CC=2 RC=2538
[2021-04-14 11:01:30.986] ERROR [1618412490986] MQJE001: Completion Code '2', Reason '2538'.
[2021-04-14 11:01:30.986] ERRORDTL [1618412490986]com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2538'.
        at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:251)

Back to top
View user's profile Send private message
hughson
PostPosted: Wed Apr 14, 2021 12:58 pm    Post subject: Reply with quote

Padawan

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

ghoshly wrote:
@morag - Yes we do have other queue manager in the server which is similar to the one in question, I am shutting that queue manager and give it a try because it also has the same listener with same port.


You must make sure that these queue managers on the same host have a unique listener port.

Your application has been connecting to the wrong queue manager and that is why the channel definition didn't exist.

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
PeterPotkay
PostPosted: Thu Apr 15, 2021 7:31 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

In the last screen shot they show MQRC 2538 ​MQRC_HOST_NOT_AVAILABLE

They are not connecting to any queue manager ​it seems for that last use case

If they were connecting to the wrong queue manager that did not have their channel, it would have been 2540 MQRC_UNKNOWN_CHANNEL_NAME.

Notice they are also specifying the queue manager name in their config. Assuming that is used on the connect call I thought we would have first seen the MQRC 2058 MQRC_Q_MGR_NAME_ERROR, but my testing connecting to QM2 specifying QM1 on the connect using a channel name that does not exist on QM2 shows that QM2 throws MQRC 2540 for the bad channel name instead of the MQRC 2058 for the bad QM name.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
ghoshly
PostPosted: Thu Apr 15, 2021 9:52 am    Post subject: Big Thanks .. Reply with quote

Partisan

Joined: 10 Jan 2008
Posts: 325



Thanks a lot Morag and others for helping to identify the issue.

For now I have disabled CONNAUTH property of Queue Manager and client application is able to put message via client connection channel and able to get message from queue using Virtual IP between the servers.

In case of multi instance queue manager, client application should always use Virtual IP in their adapter configuration? I guess this question would go more to IBM Sterling B2B Integrator team.
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 » General IBM MQ Support » IBM B2Bi can not connect to Multi instance Queue Manager
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.