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 » Changing default clustering behavior

Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4, 5  Next
 Changing default clustering behavior « View previous topic :: View next topic » 
Author Message
fjb_saper
PostPosted: Mon Apr 26, 2010 7:36 am    Post subject: Reply with quote

Grand High Poobah

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

yalmasri wrote:
What do you think I'm doing wrong in the scenario I presented that made messages go to the remote queue and leave the local?

Don't know I am not inspecting your scenario...

You should achieve load balancing according to CPU by changing channel attributes...
Having messages be persistent and the queues opened as binding not fixed, as well as having cluster attribute any should give you a pretty even weighted distribution...

Why you are not achieving this is between your setup and your app.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Mon Apr 26, 2010 7:53 am    Post subject: Reply with quote

Grand High Poobah

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

yalmasri wrote:
OK, you tell me, what is the queue level attribute that controls the weight of the total messages that should go to it?


You tell me why you're confused at the contents of that link. I'm assuming you've eliminated CLWLUSEQ as an attribute that controls distribution except at the most granular level (but can't be overlooked obviously)/

yalmasri wrote:
Quote:
DEFBIND is the default binding, not the actual binding
Which is "NOT FIXED" in my case as I said.


But how do you actually know that? How do you know what the actual binding is?

yalmasri wrote:
I'm perplexed, this should be simple clustering scenario, I'm not using gateway queue managers or aliases or anything complex but still can't make it.


It does sound very straightforward as clusters go. Very few moving parts and you sound like you have a very clear vision of it.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
yalmasri
PostPosted: Mon Apr 26, 2010 8:23 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

fjb_saper wrote:

Having messages be persistent and the queues opened as binding not fixed, as well as having cluster attribute any should give you a pretty even weighted distribution...

Why you are not achieving this is between your setup and your app.
This is what's driving me nuts, I double and triple-checked this setup on both machines and I'm pretty sure they're as you indicated.

Vitor wrote:

But how do you actually know that? How do you know what the actual binding is?
On my MQ Explorer, I'm going to the queue --> Properties --> Cluster, and set the attribute "Default bind type" to "Not fixed". Isn't that enough to tell what is the actual binding?!

Vitor wrote:

It does sound very straightforward as clusters go. Very few moving parts and you sound like you have a very clear vision of it.
Yea, I'll spend another night contemplating everything from all aspects, hopefully ...
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Apr 26, 2010 8:39 am    Post subject: Reply with quote

Grand High Poobah

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

yalmasri wrote:
But how do you actually know that? How do you know what the actual binding is?
On my MQ Explorer, I'm going to the queue --> Properties --> Cluster, and set the attribute "Default bind type" to "Not fixed". Isn't that enough to tell what is the actual binding?![/quote]

Absolutely not!!!

As both myself and my associate have said multiple times that is the default setting. It has nothing to do with what binding is actually in use.

You seem to be bring the same skills you use reading the cluster weighting attrbute documentation to reading our posts.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
exerk
PostPosted: Mon Apr 26, 2010 8:40 am    Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

yalmasri wrote:
...On my MQ Explorer, I'm going to the queue --> Properties --> Cluster, and set the attribute "Default bind type" to "Not fixed". Isn't that enough to tell what is the actual binding?!...


If the application takes the bind type from the queue attribute, yes. But if the application is over-riding that, then no...
_________________
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: Mon Apr 26, 2010 9:07 am    Post subject: Reply with quote

Poobah

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

There are near zero defaults in MQ.

Persistence, priority, bind, are examples that are not defaults. Rather, they are _AS_Q_DEF - as defined at the queue.

In each case, the developer gets to pick, for example: the programmer must pick message persistence from this list: persistent, non-persistent, take on the attribute of the queue. The same applies for the others.

Refer to the APR manual. Refer in this case means read the appropriate sections.

These are not defaults.
These are not defaults.
These are not defaults.
_________________
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
yalmasri
PostPosted: Wed Apr 28, 2010 12:13 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

I think we're floating around the solution.

I'm looking up the destination from JNDI, but can't see where exactly the DEFBIND property is overridden. Do anyone know how to check this value or change it in the destination definition? Or more generally, is the default definition of destination created using JMSAdmin good enough to get me the clustering behavior I'm looking for?
Back to top
View user's profile Send private message
bruce2359
PostPosted: Wed Apr 28, 2010 5:06 am    Post subject: Reply with quote

Poobah

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

Quote:
but can't see where exactly the DEFBIND property is overridden.

BIND is an MQOPEN option. App developers specify MQOPEN options.

The developer can specify BIND_FIXED or BIND_AS_Q_DEF. If the program specifies BIND_AS_Q_DEF, then the BIND attribute of the queue definition will determine if the app binds to an instance of the queue.

If the developer specifies BIND_FIXED, then the queue attribute is ignored, and subsequent MQPUTs will go to the first instance of the queue.
_________________
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
yalmasri
PostPosted: Thu Apr 29, 2010 3:04 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

Quote:
BIND is an MQOPEN option. App developers specify MQOPEN options.
But I don't have this option when I'm using using a "Distination" object, do I?

Quote:
If the developer specifies BIND_FIXED, then the queue attribute is ignored, and subsequent MQPUTs will go to the first instance of the queue.
What criteria determines the first instance? If you have two remote queues, which one is going to be chosen? What about if you have one remote queue and one local with bind type "Any"?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Apr 29, 2010 5:49 am    Post subject: Reply with quote

Grand High Poobah

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

yalmasri wrote:
Quote:
BIND is an MQOPEN option. App developers specify MQOPEN options.
But I don't have this option when I'm using using a "Distination" object, do I?


No, but the developer does (according to my limited Java knowledge!!!)

yalmasri wrote:
What criteria determines the first instance? If you have two remote queues, which one is going to be chosen? What about if you have one remote queue and one local with bind type "Any"?


If you have any remote queues your cluster is set up in a very odd way indeed.

The selection of which cluster queue is going to be the target is handled by the workload balancer in the same way as always. It's just that if the target has BIND_ON_OPEN then subsequent messages bypass the balancer and go to that target.

If you have one target with BIND_ON_OPEN and one BIND_NOT_FIXED you've set the cluster up wrong and you'll get interesting results depending on which one gets selected.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
sumit
PostPosted: Thu Apr 29, 2010 9:42 am    Post subject: Reply with quote

Partisan

Joined: 19 Jan 2006
Posts: 398

I feel you are at the utmost level of confusion and frustration. Search for S1123MH042030.pdf in google and read it thoroughly. Tweak your settings. This should help. (I found this doc accidently after I created a similar one for my team, and it's pretty interesting )
_________________
Regards
Sumit
Back to top
View user's profile Send private message Yahoo Messenger
bruce2359
PostPosted: Thu Apr 29, 2010 10:00 am    Post subject: Reply with quote

Poobah

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

Even though you are doing Java, you should read the WMQ Application Programming Reference, and WMQ Application Programming Guide. Read also the WMQ Queue Manager Clusters manual.

The first two manuals comprehensively describe what BIND_FIXED and BIND_NOT_FIXED do for you, and where they can be specified.
_________________
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
liz72701
PostPosted: Thu Apr 29, 2010 11:01 am    Post subject: Reply with quote

Newbie

Joined: 19 Dec 2007
Posts: 8

Quote:
But I don't have this option when I'm using using a "Distination" object, do I?


If you use the MQQueue class you can specify open options (binding) there.

Liz
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Apr 29, 2010 1:05 pm    Post subject: Reply with quote

Grand High Poobah

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

yalmasri wrote:
But I don't have this option when I'm using using a "Destination" object, do I?

Sure you do. It's in the setup of the Destination in JNDI.
It may also specify as QDEF and take on the value set on the queue. But if you specified something else in your JNDI setup for the destination this (JNDI) takes precedence.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
yalmasri
PostPosted: Fri Apr 30, 2010 4:27 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

sumit wrote:
I feel you are at the utmost level of confusion and frustration
Is that because I don't respond to Vitor's provocations? Don't worry, if you are an Apprentice between Grand Poobah's then you have to act like one . But anyway, the problem here is that most of the contributors are admins and have no programming hands on. I just want a person who practically went through this, and I'm sure we can close this long thread with one short statement.

That pdf looks interesting, I'll make sure I'll give it a thorough look.

fjb_saper wrote:
yalmasri wrote:
But I don't have this option when I'm using a "Destination" object, do I?

Sure you do. It's in the setup of the Destination in JNDI.
It may also specify as QDEF and take on the value set on the queue. But if you specified something else in your JNDI setup for the destination this (JNDI) takes precedence.

Have fun

Great, here are all administered properties, can you tell me which is for "default bind type"?
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  Next Page 2 of 5

MQSeries.net Forum Index » Clustering » Changing default clustering behavior
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.