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 » CLWLUSEQ(ANY) attribute

Post new topic  Reply to topic Goto page 1, 2  Next
 CLWLUSEQ(ANY) attribute « View previous topic :: View next topic » 
Author Message
JAdams
PostPosted: Thu May 29, 2008 9:37 am    Post subject: CLWLUSEQ(ANY) attribute Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 47
Location: Lakeland, FL

Hi,

I have a weird clustering issue that has me baffled. I have 2 queue managers (QMGRA & QMGRB) that are part of a cluster. I have a queue (TEST) defined as a cluster queue on both queue managers. I have CLWLUSEQ set to ANY on both queues. When I run amsputc doing a put to TEST on QMGRA all of the messages are sent to the TEST queue on QMGRB?? The same thing happens when I do a put to the TEST queue on QMGRB....they all go to QMGRA.

Now....if I do a put to the TEST queue from a third qmgr (QMGRC) with no local version of the queue then the messages are split between the two queues on QMGRA and QMGRB as I would expect them to be.

My understanding of CLWLUSEQ(ANY) is that even if I put to a queue manager and there is a local version of the queue as well as a remote version that messages will still be workload balanced across both queues.

So my question is why would messages being put to the TEST queue always go to the remote version of the queue instead of being balanced across the two version of the queue?

I do not have any of the Rank or Priority attributes configured.

These are both Windows queue managers running version 6.0.2.2
_________________
Jason Adams
IBM Certified Specialist MQSeries
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Thu May 29, 2008 1:02 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

What BIND option is being used? By dumb luck you may be binding to the other queue on the first put, and that's where the rest of them are going for the duration of that MQOPEN.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
crossland
PostPosted: Fri May 30, 2008 7:49 am    Post subject: Reply with quote

Master

Joined: 26 Jun 2001
Posts: 248

Looking at the source, it appears that amqsput uses the default open options which would be "bind as q def".

Regards,

Tim
http://www.inspirotechnic.com
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Sun Jun 01, 2008 11:13 pm    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

crossland wrote:
Looking at the source, it appears that amqsput uses the default open options which would be "bind as q def".

Regards,

Tim
http://www.inspirotechnic.com


That's right, so it depends on the definitions of the queues (attribute DEFBIND - should be NOTFIXED) how messages are "load-balanced".
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
HubertKleinmanns
PostPosted: Sun Jun 01, 2008 11:15 pm    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

HubertKleinmanns wrote:
crossland wrote:
Looking at the source, it appears that amqsput uses the default open options which would be "bind as q def".

Regards,

Tim
http://www.inspirotechnic.com


That's right, so it depends on the definitions of the queues (attribute DEFBIND - should be NOTFIXED) how messages are "load-balanced".


I forgot to mention - default for queues is "OPEN" instead of "NOTFIXED".
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
JAdams
PostPosted: Mon Jun 02, 2008 4:40 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 47
Location: Lakeland, FL

The queue is defined as "Not Fixed".
_________________
Jason Adams
IBM Certified Specialist MQSeries
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Mon Jun 02, 2008 6:11 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

JAdams,

I tested it on my Linux-PC and it worked as I (and you) expected. I created two queues with CLWLUSEQ(ANY), DEFPSIST(YES), DEFBIND(NOTFIXED).

Please send your Q definitions for both queues. You may also compare the Q definitions with the MQ Explorer. They should have the same attributes (except of creation and alteration date and time of course).
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
JAdams
PostPosted: Mon Jun 02, 2008 7:07 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 47
Location: Lakeland, FL

Hubert,

Here are the queue defs...

QMGRA

display qlocal(LQ.TEST) all
1 : display qlocal(LQ.TEST) all
AMQ8409: Display Queue details.
QUEUE(LQ.TEST) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2008-03-10)
ALTTIME(10.12.41) BOQNAME( )
BOTHRESH(0) CLUSNL( )
CLUSTER(MQ.PERFORMANCE.CLUSTER) CLWLPRTY(0)
CLWLRANK(0) CLWLUSEQ(ANY)
CRDATE(2008-03-10) CRTIME(10.12.41)
CURDEPTH(0) DEFBIND(NOTFIXED)
DEFPRTY(0) DEFPSIST(YES)
DEFSOPT(SHARED) DEFTYPE(PREDEFINED)
DESCR( ) DISTL(NO)
GET(ENABLED) HARDENBO
INITQ( ) IPPROCS(0)
MAXDEPTH(5000) MAXMSGL(4194304)
MONQ(QMGR) MSGDLVSQ(PRIORITY)
NOTRIGGER NPMCLASS(NORMAL)
OPPROCS(0) PROCESS( )
PUT(ENABLED) QDEPTHHI(80)
QDEPTHLO(20) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QDPMAXEV(ENABLED)
QSVCIEV(NONE) QSVCINT(999999999)
RETINTVL(999999999) SCOPE(QMGR)
SHARE STATQ(QMGR)
TRIGDATA( ) TRIGDPTH(1)
TRIGMPRI(0) TRIGTYPE(FIRST)
USAGE(NORMAL)

QMGRB

DISPLAY QLOCAL(LQ.TEST) ALL
1 : DISPLAY QLOCAL(LQ.TEST) ALL
AMQ8409: Display Queue details.
QUEUE(LQ.TEST) TYPE(QLOCAL)
ACCTQ(QMGR) ALTDATE(2008-03-10)
ALTTIME(10.13.36) BOQNAME( )
BOTHRESH(0) CLUSNL( )
CLUSTER(MQ.PERFORMANCE.CLUSTER) CLWLPRTY(0)
CLWLRANK(0) CLWLUSEQ(ANY)
CRDATE(2008-03-10) CRTIME(10.13.36)
CURDEPTH(0) DEFBIND(NOTFIXED)
DEFPRTY(0) DEFPSIST(YES)
DEFSOPT(SHARED) DEFTYPE(PREDEFINED)
DESCR( ) DISTL(NO)
GET(ENABLED) HARDENBO
INITQ( ) IPPROCS(0)
MAXDEPTH(5000) MAXMSGL(4194304)
MONQ(QMGR) MSGDLVSQ(PRIORITY)
NOTRIGGER NPMCLASS(NORMAL)
OPPROCS(0) PROCESS( )
PUT(ENABLED) QDEPTHHI(80)
QDEPTHLO(20) QDPHIEV(DISABLED)
QDPLOEV(DISABLED) QDPMAXEV(ENABLED)
QSVCIEV(NONE) QSVCINT(999999999)
RETINTVL(999999999) SCOPE(QMGR)
SHARE STATQ(QMGR)
TRIGDATA( ) TRIGDPTH(1)
TRIGMPRI(0) TRIGTYPE(FIRST)
USAGE(NORMAL)

The queue defs are exactly the same.
_________________
Jason Adams
IBM Certified Specialist MQSeries
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Mon Jun 02, 2008 7:26 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

Jason,

your definitions seem to be ok. I would perform the folowing steps:

- "REFRESH CLUSTER(MQ.PERFORMANCE.CLUSTER)" on QMGRA

- Wait some minutes (five or ten)

- "REFRESH CLUSTER(MQ.PERFORMANCE.CLUSTER)" on QMGRB

- Wait some minutes

- Test again

I found, that sometimes cluster QMgrs "forget" some information of the cluster.

If this does not work, check your channel definitions - the cluster receiver definitions should be the same for QMGRA and QMGRB (but I guess, these channels are ok, because the test from a third QMgr works fine, as you described).

If it still does not work, try another fix pack (6.0.2.4 is available since last friday). and try again.

Otherwise raise a PMR at IBM.

Would you please tell us the solution - if you got one?
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
PeterPotkay
PostPosted: Mon Jun 02, 2008 7:35 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7716

Yes, please do post what the eventual fix is. Your defs seem correct but your test case results are weird, based on the info provided.

Regarding the REFRESH, when I suspect things are wrong and wonder if changes are getting propagated, I try this first. Change the queue's Description field. Just add a period or something. This is an attribute that is shared among the cluster. If you change the q in this non obtrusive way and you see the change on the FRs and on the PRS that have an interest in this q, you know your cluster is properly aware of this q.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
HubertKleinmanns
PostPosted: Mon Jun 02, 2008 7:43 am    Post subject: Reply with quote

Shaman

Joined: 24 Feb 2004
Posts: 732
Location: Germany

Jason,

you could also try the tool amqrfdm. It undocumented and not very easy to use, but it looks "into" the cluster.

- Switch the details level on ("+" then ">" - "Return" to leave the submenu).

- List the Q attributes with the option "q".

This is, what the QMgr "really" sees in the cluster.

You could post the output to this list.
_________________
Regards
Hubert
Back to top
View user's profile Send private message Visit poster's website
JAdams
PostPosted: Mon Jun 02, 2008 9:49 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 47
Location: Lakeland, FL

I did the refresh as well as updating the desc. field to no avail. I am still experiencing the same behavior.

I also ran the amqrfdm utility and compared the objects. They are still identical with the exception of the desc. field. I purposely did one in uppercase and the other in lower case. Here is the output if you are interested.


QLOCAL(LQ.TEST ) 2 Live Seq(1212427519)
@18ADC Clusters @63714
QDesc(testq )
UUID(TMQPFA01B_2008-03-05_13.12.57 )
DefBind(1) DefPersistence(1) DefPriority(0) InhibitPut(0)
CLWLQueuePriority(0) CLWLQueueRank(0)
QFlags(2: Refresh )
Flags(0) MsgId(414D5120544D5150464130314120202022923548202F395A)
Prev(19B24 ) Next(63A40 ) Ascii(63B94 ) Qmgr(95F00 )
Cluster(MQ.PERFORMANCE.CLUSTER ) Live Seq(1212427519)
@63714 Next(0 )
Exp(7/2/2008 5:28:56 PM) Upd(6/2/2008 5:23:36 PM)
QFlags(2: Refresh )
QLOCAL(LQ.TEST ) 2 Live Seq(1212427416)
@63BC0 Clusters @93300
QDesc(TESTQ )
UUID(TMQPFA01A_2008-03-05_13.10.47 )
DefBind(1) DefPersistence(1) DefPriority(0) InhibitPut(0)
CLWLQueuePriority(0) CLWLQueueRank(0)
QFlags(43: Local Refresh USEQ-Any )
Flags(1) MsgId(414D5120544D5150464130314120202022923548202F3959)
Prev(933EC ) Next(18AB0 ) Ascii(63A40 ) Qmgr(95578 )
Cluster(MQ.PERFORMANCE.CLUSTER ) Live Seq(1212427416)
@93300 Next(0 )
Exp(7/2/2008 5:28:20 PM) Upd(3/10/2008 3:12:41 PM)
QFlags(43: Local Refresh USEQ-Any )


Looks like I may need to open a PMR....

...As I am typing this I do notice that the Upd date time stamp was not modified when I update the desc. field. The first queue does have today's date in the Upd date time stamp...?? I just refreshed the cluster again and it did not change anything....Arrg!
_________________
Jason Adams
IBM Certified Specialist MQSeries
Back to top
View user's profile Send private message
JAdams
PostPosted: Mon Jun 02, 2008 9:52 am    Post subject: Reply with quote

Apprentice

Joined: 11 Jul 2002
Posts: 47
Location: Lakeland, FL

Oh...BTW Yes, I will post the fix once I discover what it is!
_________________
Jason Adams
IBM Certified Specialist MQSeries
Back to top
View user's profile Send private message
Nigelg
PostPosted: Mon Jun 02, 2008 11:50 am    Post subject: Reply with quote

Grand Master

Joined: 02 Aug 2004
Posts: 1046

That the descriptions are not updated in the amqrfdm output suggests that the qmgrs are not communicating properly, or that the repos mgr process is not running.

Instead of DIS QL on each qmgr, try DIS QC(LQ.TEST) ALL on both qmgrs, to see whether the cluster view of the queue is the same on both.

Also, check to see whether there is an amqrrmfa process for each qmgr, and that there is a CLUSSDR and CLUSRCVR running on each to and from the full repos qmgrs in the cluster.
_________________
MQSeries.net helps those who help themselves..
Back to top
View user's profile Send private message
crossland
PostPosted: Mon Jun 02, 2008 11:58 am    Post subject: Reply with quote

Master

Joined: 26 Jun 2001
Posts: 248

I had a similar problem which went away after the server was rebooted; have you tried restarting the queue managers?

Tim
http://www.inspirotechnic.com
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 » CLWLUSEQ(ANY) attribute
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.