Author |
Message
|
fjb_saper |
Posted: Mon Apr 26, 2010 7:36 am Post subject: |
|
|
 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 |
|
 |
Vitor |
Posted: Mon Apr 26, 2010 7:53 am Post subject: |
|
|
 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 |
|
 |
yalmasri |
Posted: Mon Apr 26, 2010 8:23 am Post subject: |
|
|
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 |
|
 |
Vitor |
Posted: Mon Apr 26, 2010 8:39 am Post subject: |
|
|
 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 |
|
 |
exerk |
Posted: Mon Apr 26, 2010 8:40 am Post subject: |
|
|
 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 |
|
 |
bruce2359 |
Posted: Mon Apr 26, 2010 9:07 am Post subject: |
|
|
 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 |
|
 |
yalmasri |
Posted: Wed Apr 28, 2010 12:13 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Wed Apr 28, 2010 5:06 am Post subject: |
|
|
 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 |
|
 |
yalmasri |
Posted: Thu Apr 29, 2010 3:04 am Post subject: |
|
|
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 |
|
 |
Vitor |
Posted: Thu Apr 29, 2010 5:49 am Post subject: |
|
|
 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 |
|
 |
sumit |
Posted: Thu Apr 29, 2010 9:42 am Post subject: |
|
|
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 |
|
 |
bruce2359 |
Posted: Thu Apr 29, 2010 10:00 am Post subject: |
|
|
 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 |
|
 |
liz72701 |
Posted: Thu Apr 29, 2010 11:01 am Post subject: |
|
|
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 |
|
 |
fjb_saper |
Posted: Thu Apr 29, 2010 1:05 pm Post subject: |
|
|
 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 |
|
 |
yalmasri |
Posted: Fri Apr 30, 2010 4:27 am Post subject: |
|
|
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 |
|
 |
|