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 » Alias queue to a cluster queue

Post new topic  Reply to topic Goto page 1, 2  Next
 Alias queue to a cluster queue « View previous topic :: View next topic » 
Author Message
Boomn4x4
PostPosted: Fri Aug 24, 2012 5:51 am    Post subject: Alias queue to a cluster queue Reply with quote

Disciple

Joined: 28 Nov 2011
Posts: 172

I am trying to hop a message through 3 QMGRs with one PUT. To a remote queue, to an alias queue, to a local queue. The alias queue and local queue are shared in a cluster.

If I put a test message onto the remote queue on the first QMGR, it goes into the DLQ on the second QMGR. If I put a test message on the Alias queue on the second QMGR, it goes into the DLQ on the third QMGR.

Any idea what I am doing wrong, or if this is even possible. I read in the documentation that:
"A local queue (see Defining a local queue).
A local definition of a remote queue (see Creating a local definition of a remote queue).
A topic."

Does this NOT include a queue shared in a cluster?
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Aug 24, 2012 5:54 am    Post subject: Re: Alias queue to a cluster queue Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Boomn4x4 wrote:
Does this NOT include a queue shared in a cluster?


Potentially not; you may need more work to get name resolution in a cluster as you want it.

Your first step should be to examine the DLH to see why they ended up on the DLQ (i.e. what made them undeliverable). This will lead you to what additional objects you need.

My initial guess (and I emphasise guess) is you need a cluster alias as well.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Aug 24, 2012 6:03 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Okay, so
  • QMGRA - hosts QREMOTE and is not in the cluster
  • QMgrC hosts QLOCAL, and is in the cluster


QmgrB and QmgrC are both in the cluster.

QMGR B is the man-ager in the middle.

The QREMOTE specifies RQNAME(MyQueueAlias) and RQMNAME(QMGRB).

The QALIAS specifies TARGET(MyQueueLocal).

Is the QALIAS defined on QmgrB, or not? It sounds like it is. It shouldn't be.

It should be defined on QmgrC and point to the local queue, and the local queue should NOT be shared in the cluster.


Last edited by mqjeff on Fri Aug 24, 2012 6:05 am; edited 1 time in total
Back to top
View user's profile Send private message
Boomn4x4
PostPosted: Fri Aug 24, 2012 6:04 am    Post subject: Re: Alias queue to a cluster queue Reply with quote

Disciple

Joined: 28 Nov 2011
Posts: 172

Vitor wrote:

Your first step should be to examine the DLH to see why they ended up on the DLQ (i.e. what made them undeliverable). This will lead you to what additional objects you need.

My initial guess (and I emphasise guess) is you need a cluster alias as well.


Thank you... didn't even know the error was in the DLH..

Getting MQRC_ALIAS_BASE_Q_TYPE_ERROR

Documentation says :
"An MQOPEN or MQPUT1 call was issued specifying an alias queue as the destination, but the BaseQName in the alias queue definition resolves to a queue that is not a local queue, a local definition of a remote queue, or a cluster queue."

... so, that would lead me to believe that the cluster queue should work fine. And the alias is pointed to, what I believe to be a correct clustered queue.

Back to the head scratching....
Back to top
View user's profile Send private message
exerk
PostPosted: Fri Aug 24, 2012 6:07 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

Just for clarity, are you trying to?

QMGR_A (non-clustered) -> QMGR_B (gateway in cluster) -> QMGR_C (in cluster)
_________________
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
bruce2359
PostPosted: Fri Aug 24, 2012 6:12 am    Post subject: Re: Alias queue to a cluster queue Reply with quote

Poobah

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

Boomn4x4 wrote:
Vitor wrote:

Your first step should be to examine the DLH to see why they ended up on the DLQ (i.e. what made them undeliverable). This will lead you to what additional objects you need.

My initial guess (and I emphasise guess) is you need a cluster alias as well.


Thank you... didn't even know the error was in the DLH..

Getting MQRC_ALIAS_BASE_Q_TYPE_ERROR

Documentation says :
"An MQOPEN or MQPUT1 call was issued specifying an alias queue as the destination, but the BaseQName in the alias queue definition resolves to a queue that is not a local queue, a local definition of a remote queue, or a cluster queue."

... so, that would lead me to believe that the cluster queue should work fine. And the alias is pointed to, what I believe to be a correct clustered queue.

Back to the head scratching....

This means precisely and exactly that the object name on the 3rd qmgr is a QAlias without a valid target queue attribute.
_________________
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
Vitor
PostPosted: Fri Aug 24, 2012 6:12 am    Post subject: Re: Alias queue to a cluster queue Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Boomn4x4 wrote:
Back to the head scratching....


Stop scratching for a moment, and read @mqjeff's post.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Boomn4x4
PostPosted: Fri Aug 24, 2012 6:14 am    Post subject: Reply with quote

Disciple

Joined: 28 Nov 2011
Posts: 172

exerk wrote:
Just for clarity, are you trying to?

QMGR_A (non-clustered) -> QMGR_B (gateway in cluster) -> QMGR_C (in cluster)


Yes

bruce2359 wrote:
This means precisely and exactly that the object name on the 3rd qmgr is a QAlias without a valid target queue attribute.

The object on the 3rd qmgr is a local queue shared in a cluster with the 2nd qmgr.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Aug 24, 2012 6:15 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

If you want to use a QALIAS, it has to be on the same qmgr as the object it points to.

If you want to define an object on QMGRB, it has to be a QREMOTE.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri Aug 24, 2012 6:31 am    Post subject: Re: Alias queue to a cluster queue Reply with quote

Poobah

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

Boomn4x4 wrote:

If I put a test message onto the remote queue on the first QMGR, it goes into the DLQ on the second QMGR. If I put a test message on the Alias queue on the second QMGR, it goes into the DLQ on the third QMGR.

Sorry, I misread.

Please read about name resolution in the WMQ InfoCenter (or the equivalent manuals). Name resolution takes every time your app (or the qmgr, on behalf of your app) encounters an object name.

Thus, on the first qmgr, the queue you name must match a local object definition. The same thing takes place when the message arrives on the second and third qmgr.

Look at the ReasonCode in the DLH on whichever qmgr the message ends up in the DLQ. The ReasonCode needs to be resolved on that qmgr with an appropriate object definition.
_________________
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
Boomn4x4
PostPosted: Fri Aug 24, 2012 6:39 am    Post subject: Reply with quote

Disciple

Joined: 28 Nov 2011
Posts: 172

mqjeff wrote:
If you want to use a QALIAS, it has to be on the same qmgr as the object it points to.

If you want to define an object on QMGRB, it has to be a QREMOTE.


Thank you, that's what I needed to hear. I changed the QALIAS to a QREMOTE and (and set up the channels) and I'm working as desired.

So, if I'm understanding all of this correctly, there is 0 value in having a cluster in this scenario? In that QALIAS's don't work in clusters?
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Aug 24, 2012 6:41 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Boomn4x4 wrote:
So, if I'm understanding all of this correctly, there is 0 value in having a cluster in this scenario? In that QALIAS's don't work in clusters?


You are failing to understand this correctly.

As I said, IF YOU WANT to use a QALIAS, it must be on the same queue manager that it points to.

As I said, IF the QALIAS is defined on QMGRB, it should not be. It should be defined on QMGRC and the QLOCAL should *not* be shared in the cluster.

As I said, IF YOU WANT to define an object on QmgrB, it MUST be a Qremote.

You can slice this bread in several ways. You've merely chosen to try to stack a piece sliced lengthwise against a piece sliced width-wise, and that leaves you with jelly on your hands.
Back to top
View user's profile Send private message
exerk
PostPosted: Fri Aug 24, 2012 6:42 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

Boomn4x4 wrote:
So, if I'm understanding all of this correctly, there is 0 value in having a cluster in this scenario? In that QALIAS's don't work in clusters?

QALIAS does work in a cluster, but the target queue has to be resolvable from the queue manager containing it if the TARGQ is not local...

EDIT: ...and I can see that what I've put is contradictory to what mqjeff put, so to prevent any further confusion I'll now shut up!
_________________
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.


Last edited by exerk on Fri Aug 24, 2012 6:44 am; edited 1 time in total
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri Aug 24, 2012 6:43 am    Post subject: Reply with quote

Poobah

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

Boomn4x4 wrote:
mqjeff wrote:
If you want to use a QALIAS, it has to be on the same qmgr as the object it points to.

If you want to define an object on QMGRB, it has to be a QREMOTE.


Thank you, that's what I needed to hear. I changed the QALIAS to a QREMOTE and (and set up the channels) and I'm working as desired.

So, if I'm understanding all of this correctly, there is 0 value in having a cluster in this scenario? In that QALIAS's don't work in clusters?


Clusters provide the opportunity to have multiple destination queues (with the same name). Clusters allow for an object definition to be shared with all qmgrs in a cluster.

QAlias definitions work fine in clusters. QRemote definitions work fine in a cluster. QLocal definitions work fine in a cluster.

Please read about name resolution. Cluster object definitions are part of the search to resolve names.
_________________
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
Vitor
PostPosted: Fri Aug 24, 2012 6:44 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Boomn4x4 wrote:
So, if I'm understanding all of this correctly, there is 0 value in having a cluster in this scenario? In that QALIAS's don't work in clusters?


If all you're trying to do is hop the message from A->B->C then no, I doubt a cluster adds much to that scenario. The prevaling assumption is that A is outside the cluster, B is the gateway to the cluster and C is the internal target. Otherwise your topology doesn't make apparent sense.

Clusters are intended for other things, hence they don't add to a multi-hop point to point scenario. A cluster would be great if the target was C, D, E, F or one of a number of other possibles in a workload balancing solution.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Clustering » Alias queue to a cluster queue
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.