Author |
Message
|
sysnemr |
Posted: Wed Dec 11, 2002 2:17 am Post subject: Round Robin Algorithm |
|
|
Apprentice
Joined: 29 Oct 2001 Posts: 30 Location: Zagreb, Croatia
|
I have got 3 OS/390 repository queue managers and cluster queues on it.
Other non-repository queue managers in same cluster are on WIN NT machines. The NT queue managers communicate with 3 repository queue managers. The third OS/390 repository queue manager is new. Repository queue managers has got cluster queues with same names. So, when application on NT puts message to the cluster queue the message is delivered to cluster queues with Round Robin algorithm. I noticed that some NT queue managers avoid to send messages to the third repository.
This is obvious looking the message counter on cluster channels. To solve this problem I deleted the queue maneger and removed that queue manager from cluster. After that I create the same queue manager once again and added it once again to cluster. After that the Round Robin algoritm works as expected or messages are in the same way delivered to cluster queue s with same names on repository queue managers. Message counters on cluster channels look as expected. Does anybody know how to solve this problem without deletion of WIN NT queue managers because I have got to much WIN NT queue managers? |
|
Back to top |
|
 |
bduncan |
Posted: Wed Dec 11, 2002 11:11 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Is your NT application using MQOO_BIND_NOT_FIXED or MQOO_BIND_ON_OPEN ???? _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
sysnemr |
Posted: Thu Dec 12, 2002 1:21 am Post subject: |
|
|
Apprentice
Joined: 29 Oct 2001 Posts: 30 Location: Zagreb, Croatia
|
We doesn't have either MQOO_BIND_ON_OPEN or MQOO_BIND_NOT_FIXED. I found in the book the sentence:If you do not specify either MQOO_BIND_ON_OPEN or MQOO_BIND_NOT_FIXED, the default option is MQOO_BIND_AS_Q_DEF. So, we have default option MQOO_BIND_AS_Q_DEF. So, with the same application on every NT box how to explain that on some queue managers application puts messages only to one repository queue manager not to all 3 available repository queue managers and on the other queue managers application normally puts as expected on all 3 repository queue managers to its cluster queues? The cluster queues on repository queue managers have got same names. |
|
Back to top |
|
 |
bduncan |
Posted: Thu Dec 12, 2002 2:32 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
How are all instances of this clustered queue defined with respect to bindings? In other words, if some are bind on open, and others are bind not fixed, then depending on which one your application actually opens (which will always be a round robin) any subsequent MQPUTs may or may not go to different instances of the queue. _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
sysnemr |
Posted: Thu Dec 12, 2002 5:23 am Post subject: |
|
|
Apprentice
Joined: 29 Oct 2001 Posts: 30 Location: Zagreb, Croatia
|
The definitions of cluster queues are same on all 3 repository queue managers and one of them is as follows:
-+P1 DIS QL(BANKE) ALL
CSQM201I +P1 CSQMDMSG DIS QLOCAL DETAILS
QUEUE(BANKE)
TYPE(QLOCAL)
STGCLASS(DEFAULT)
CLUSTER(CL_ZP1)
CLUSNL( )
DESCR( )
PUT(ENABLED)
DEFPRTY(0)
DEFPSIST(YES)
OPPROCS(82)
IPPROCS(1)
CURDEPTH(1)
MAXDEPTH(999999999)
PROCESS(BANPROC)
TRIGGER
MAXMSGL(4194304)
BOTHRESH(0)
BOQNAME( )
INITQ(C1ZP.INITQ)
USAGE(NORMAL)
SHARE
DEFSOPT(SHARED)
MSGDLVSQ(PRIORITY)
RETINTVL(999999999)
TRIGTYPE(EVERY)
TRIGDPTH(1)
TRIGMPRI(1)
TRIGDATA( )
DEFTYPE(PREDEFINED)
NOHARDENBO
CRDATE(2002-12-01)
CRTIME(18.53.4
GET(ENABLED)
QDEPTHHI(80)
QDEPTHLO(40)
QDPMAXEV(ENABLED)
QDPHIEV(DISABLED)
QDPLOEV(DISABLED)
QSVCINT(999999999)
QSVCIEV(NONE)
INDXTYPE(CORRELID)
DEFBIND(OPEN)
ALTDATE(2002-12-05)
ALTTIME(18.28.55)
CSQMDMSG END QLOCAL DETAILS
CSQ9022I +P1 CSQMDMSG ' DIS QLOCAL' NORMAL COMPLETION
I see cluster queue atribut DEFBIND(OPEN). What should we have defined here to put messages from NT boxes to all 3 repository queue managers and its cluster queues ? For example we have got BANKE queue on all
repository queue managers. We would like to receive messages with Round Robin Algorithm on BANKE cluster queues. |
|
Back to top |
|
 |
bduncan |
Posted: Thu Dec 12, 2002 10:37 am Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
That's your problem. DEFBIND should NOT be OPEN. You need to change it to "not fixed" but I can't remember off the top of my head what the parameter name is (NOTFIXED?), so you should look in MQSeries Administration manual before changing it. You're basically forcing the applications to bind to a single instance of the clustered queue once they open it, rather than re-resolving the queue (and getting a new instance of it) everytime an MQPUT is made. _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
sysnemr |
Posted: Thu Dec 12, 2002 11:36 pm Post subject: |
|
|
Apprentice
Joined: 29 Oct 2001 Posts: 30 Location: Zagreb, Croatia
|
Thank you for help. I will change cluster queue attribute DEFBIND(OPEN) to DEFBIND(NOTFIXED) and try what happens after this. I don't understand how I didn't see this problem before because I tried to send messages before getting to production with amqsput sample application and it seemed to me well or the amqsput put messages to cluster queues as I expected to 3 repositories ( 1 2 3 1 2 3 1 2 3 and so on). |
|
Back to top |
|
 |
bduncan |
Posted: Thu Dec 12, 2002 11:41 pm Post subject: |
|
|
Padawan
Joined: 11 Apr 2001 Posts: 1554 Location: Silicon Valley
|
Perhaps because the amqsput program had MQOO_BIND_NOT_FIXED instead of MQOO_BIND_AS_QDEF... _________________ Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator |
|
Back to top |
|
 |
|