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 » Not getting publication in a PUB/SUB cluster

Post new topic  Reply to topic
 Not getting publication in a PUB/SUB cluster « View previous topic :: View next topic » 
Author Message
KIT_INC
PostPosted: Mon Aug 18, 2014 12:02 pm    Post subject: Not getting publication in a PUB/SUB cluster Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

I am running WMQ 701 and have 3 qmgrs (QM1, QM2, QM3) in a cluster.
I defined a TOPIC (TOPICA) on QM1 and shared in the cluster. QM3 subscribes to TOPICA.
Using MQ explorer under QM1, I can test publication to TOPICA and QM3 receives the publication. Since TOPICA is only defined on QM1, I cannot see an entry of the TOPICA on MQ explorer under QM2. But I can use amqspub command on QM2 to publish to the topic (TOPICA). The program ran successful which means that QM2 is able to find TOPICA because it is shared within the cluster. However QM3 never receive the publication ?
I think in a pub/sub cluster, all I did to do is QM3 subscribe to the Topic once and it should receive publication published by any Qmgr within the cluster. Is my expectation right ?
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Aug 18, 2014 12:54 pm    Post subject: Re: Not getting publication in a PUB/SUB cluster Reply with quote

Poobah

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

KIT_INC wrote:
However QM3 never receive the publication ?

How exactly did you subscribe to the topic on QM3?
_________________
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
KIT_INC
PostPosted: Mon Aug 18, 2014 8:19 pm    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

I use the MQ explorer, under QM3, I did a create new subscription and subscribe to TOPICA and specify a q(MYQ) to receive the publication. As I said when use MQ explorer to do a test publication under QM1. The test publication message is received on MYQ. But when I used amqspub on QM2 to publish to TOPICA, I did not receive anything on MYQ.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Aug 18, 2014 9:59 pm    Post subject: Reply with quote

Poobah

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

Is this a working cluster? You've tested to make sure messages flow across all qmgrs? And all of the clussdr and clusrcvr channels are RUNNING?
_________________
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
KIT_INC
PostPosted: Tue Aug 19, 2014 2:35 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

The cluster is working. I use display clusqmgr(*) and they can see each other. Also the fact that I can run amqspub on QM2 to publish to TOPICA which is only defined in QM1 with no error indicates at least QM1 and QM2 are talking. When I publish from QM1, QM3 gets the message indicates that QM1 and QM3 are talking. The only problem is the amqspub run on QM2 does not send the publication to QM3.
Back to top
View user's profile Send private message
JosephGramig
PostPosted: Tue Aug 19, 2014 5:31 am    Post subject: Reply with quote

Grand Master

Joined: 09 Feb 2006
Posts: 1244
Location: Gold Coast of Florida, USA

MQ Explorer is doing the PUB based to the TOPIC object. Looks like amqspub is doing the PUB based on the TOPIC string.

What does mqsc display for:

DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO

What did you pass to amqspub?
Back to top
View user's profile Send private message AIM Address
fjb_saper
PostPosted: Tue Aug 19, 2014 5:40 am    Post subject: Reply with quote

Grand High Poobah

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

Also when doing a publication based on topic string make sure the pub attribute is not set to local only but set to all or cluster.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
dware
PostPosted: Tue Aug 19, 2014 5:47 am    Post subject: Reply with quote

Novice

Joined: 18 Nov 2013
Posts: 13

"Also the fact that I can run amqspub on QM2 to publish to TOPICA which is only defined in QM1 with no error indicates at least QM1 and QM2 are talking."

This isn't actually the case, amqspub takes a topic string as the input, TOPICA is a topic object (easily confused!). Unless restrictions are in place, an application can publish to any topic string, even without a topic object being defined (locally or in a cluster), the queue manager will dynamically support it. So this doesn't actually prove that QM1 and QM2 are talking.

However, before going there, how have you defined TOPICA, what TOPICSTR did you set for it? That is the value that you need to use in amqspub.

You may want to read through this (excellent ) blog, which tries to demystify the MQ topic terminology. https://www.ibm.com/developerworks/community/blogs/messaging/entry/mq_topics_but_which_type?lang=en

David.

p.s. If you do want to interrogate the queue manager on what topic strings it's aware of (and how they map to topic objects) you can do this in MQExplorer by right-clicking on 'Topics' under the queue manager and clicking on 'Status', then start expanding each branch of the topic tree.
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Tue Aug 19, 2014 7:34 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Quote:
amqspub takes a topic string as the input

That's a good point. Thanks. I was not careful when I ran the amqspub program. I use the TOPICA which is the topic name instead of the topic string TOPICA/TEST/A1.

Tried again using amqspub from both QM1 AND QM2

When I published from QM1 using amqspub the publication shows up on MYQ ON QM3.
When I published from QM2 using amqspub, nothings shows up on MYQ ON QM3.

Quote:
What does mqsc display for:

DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO


From QM1
DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO
1 : DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO
AMQ8633: Display topic details.
TOPIC(TOPICA) TYPE(LOCAL)
TOPICSTR(TOPICA/TEST/A1) DESCR( )
CLUSTER(CLUSC) DURSUB(ASPARENT)
PUB(ASPARENT) SUB(ASPARENT)
DEFPSIST(YES) DEFPRTY(ASPARENT)
DEFPRESP(ASPARENT) ALTDATE(2014-08-15)
ALTTIME(12.21.03) PMSGDLV(ASPARENT)
NPMSGDLV(ASPARENT) PUBSCOPE(ALL)
SUBSCOPE(ALL) PROXYSUB(FORCE)
WILDCARD(PASSTHRU) MDURMDL( )
MNDURMDL( )
AMQ8633: Display topic details.
TOPIC(TOPICA) TYPE(CLUSTER)
TOPICSTR(TOPICA/TEST/A1) DESCR( )
CLUSTER(CLUSC) CLUSQMGR(QM1)
QMID(QM1_2012-04-23_10.28.05) DURSUB(ASPARENT)
PUB(ASPARENT) SUB(ASPARENT)
DEFPSIST(YES) DEFPRTY(ASPARENT)
DEFPRESP(ASPARENT) CLUSDATE(2014-08-15)
CLUSTIME(11.15.42) ALTDATE(2014-08-15)
ALTTIME(12.21.03) PMSGDLV(ASPARENT)
NPMSGDLV(ASPARENT) PUBSCOPE(ALL)
SUBSCOPE(ALL) PROXYSUB(FORCE)
WILDCARD(PASSTHRU) MDURMDL( )
MNDURMDL( )

From QM2
DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO
1 : DIS TOPIC(TOPICA) TYPE(ALL) CLUSINFO
AMQ8633: Display topic details.
TOPIC(TOPICA) TYPE(CLUSTER)
TOPICSTR(TOPICA/TEST/A1) DESCR( )
CLUSTER(CLUSC) CLUSQMGR(QM1)
QMID(QM1_2012-04-23_10.28.05) DURSUB(ASPARENT)
PUB(ASPARENT) SUB(ASPARENT)
DEFPSIST(YES) DEFPRTY(ASPARENT)
DEFPRESP(ASPARENT) CLUSDATE(2014-08-15)
CLUSTIME(11.15.42) ALTDATE(2014-08-15)
ALTTIME(12.21.03) PMSGDLV(ASPARENT)
NPMSGDLV(ASPARENT) PUBSCOPE(ALL)
SUBSCOPE(ALL) PROXYSUB(FORCE)
WILDCARD(PASSTHRU) MDURMDL( )
MNDURMDL( )
Back to top
View user's profile Send private message
dware
PostPosted: Tue Aug 19, 2014 8:58 am    Post subject: Reply with quote

Novice

Joined: 18 Nov 2013
Posts: 13

So, to be clear, you're now running the following from QM2?

amqspub TOPICA/TEST/A1 QM2

Your output shows that QM2 can see the clustered topic, so the next step is to see if QM2 knows that QM3 has a subscriber to that topic. Try the following on QM2...

DISPLAY SUB(*) SUBTYPE(PROXY) ALL

This should return an entry that shows QM3 is interested in publications on TOPICA/TEST/A1.

Could you also run the following on QM2 and post the output:

DISPLAY TPSTATUS('#') TOPICSTR ADMIN SUBCOUNT

This might show that a similar but not identical topic string is being used somewhere

If all that looks ok, next is to check the channels from QM2 to QM3, is one running? Also, are there any messages on the SYSTEM.CLUSTER.TRANSMIT.QUEUE of QM2 (or QM3)?
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Fri Aug 22, 2014 8:55 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Quote:
DISPLAY SUB(*) SUBTYPE(PROXY) ALL

This should return an entry that shows QM3 is interested in publications on TOPICA/TEST/A1.


You are right dware, I do not see a proxy subscription on QM2, that's he reason why QM3 is not getting the publication.

But proxy subscription are done by MQ under the cover. How can I get the proxy subscription created ? Can this be related to communication between cluster Qmgrs. But I seem to get the right output on the cluster using display commands (dis clusqmgr(*) shows all cluster channels are running).I can see the Topic on other Qmgrs.
Back to top
View user's profile Send private message
dware
PostPosted: Tue Aug 26, 2014 12:17 am    Post subject: Reply with quote

Novice

Joined: 18 Nov 2013
Posts: 13

Yes, the proxy subscriptions are automatically created, you shouldn't need to do anything, so perhaps there is one stuck in the system somewhere or a reason for not sending one.

Unlike the clustered topic knowledge that is sent via the full repositories, the proxy subscriptions are sent direct from the queue manager where the subscription is, to the other queue managers in the cluster. So we're looking for a problem between QM3 to QM2, this could be a number of things, but first I think we should focus on the channel from QM3 to QM2. Is there one already in a running state? Are there any messages on the SYSTEM.CLUSTER.TRANSMIT.QUEUE on QM3? Can you define a simple cluster queue on QM2 and try to put to it from QM3? Does that work? If not check for errors in the error logs on both queue managers.

There is a mechanism to manually re-drive the proxy subscriptions for a queue manager, but ideally this would only be used when you know why you're missing proxy subscriptions (e.g. internal queues have been cleared) otherwise you're likely to hit the same problems again.
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 » Not getting publication in a PUB/SUB cluster
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.