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 » What happens if I put-disable a cluster queue?

Post new topic  Reply to topic
 What happens if I put-disable a cluster queue? « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Thu Mar 04, 2004 6:01 pm    Post subject: What happens if I put-disable a cluster queue? Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

QM1, QM2 and QM3 are in CLUSTER1.

QM1 hosts a local queue called MyQueue. MyQueue is clustered to CLUSTER1. MyQueue exists only on QM1. It is MQOO_BIND_NOT_FIXED.

QM4 has regular SNDR/RCVR channels to and from QM3. QM3 is the gateway.

QM4 has a remote queue def to MyQueue, specifying the Remote Queue Manager name as CLUSTER1.

I can put messages to the remote queue def on QM4, and they arrive on MyQueue on QM1.

I then Put Inhibit MyQueue, and try to send more messages. They all land in the DLQ on the gateway, QM3. So far so good.

I close all the queues, and change the remote queue def on QM4 to have Remote Queue Manager name of QM1. MyQueue on QM1 does not change. It is still clustred. It is still put inhibited.

I put more messages into the remote queue def on QM4, and they all go to MyQueue on QM1, even though the queue is put inhibited! If I try and put messages to MyQueue by connecting directly to QM1, I get the Put_Inhibited error as expected.

I then decluster MyQueue. The remote queue def on QM4 still points to MyQueue/QM1. MyQueue on QM1 is still put inhibited. I try and put more messages to the remote queue def, and they all go to the DLQ on QM1. This is normal.

How/why do the messages get into a queue that is Put-Inhibited if the queue is clustered, but the sender specifically points to the QM?

I did find the following in the Cluster Manual, but still can't make sense of it. The puts should fail if the queue is Put Inhibited!

Quote:

What happens if I put-disable a cluster queue?
When a cluster queue is put-disabled, this situation is reflected in the full
repository of each queue manager that is interested in that queue. The workload
management algorithm tries to send messages to destinations that are put-enabled.
If there are no put-enabled destinations and no local instance of a queue, an
MQOPEN call that specified MQOO_BIND_ON_OPEN returns a return code of
MQRC_CLUSTER_PUT_INHIBITED to the application. If
MQOO_BIND_NOT_FIXED is specified, or there is a local instance of the queue,
an MQOPEN call succeeds but subsequent MQPUT calls fail with return code
MQRC_PUT_INHIBITED.
You can write a user exit program to modify the workload management routines
so that messages can be routed to a destination that is put-disabled. If a message
arrives at a destination that is put-disabled (because it was in flight at the time the
queue became disabled or because a workload exit chose the destination explicitly),
the workload management routine at the queue manager can choose another
appropriate destination if there is one, or place the message on the dead-letter
queue, or if there is no dead-letter queue, return the message to the originator.

_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bduncan
PostPosted: Thu Mar 04, 2004 6:55 pm    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

That's very interesting...
I suppose the key to unraveling this mystery is knowing exactly what the "workload management routine" algorithm on QM1 is.
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
JasonE
PostPosted: Fri Mar 05, 2004 1:53 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

Does fixpack 6 help?

http://www-1.ibm.com/support/search.wss?apar=include&q=IY49117
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Fri Mar 05, 2004 5:23 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Thanks Jason. I only found this futzing around in my lab environment while testing some stuff. Its not a real problem for us at this time.

Its good to know that CSD06 fixes it.

Thanks again.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
JasonE
PostPosted: Fri Mar 05, 2004 5:36 am    Post subject: Reply with quote

Grand Master

Joined: 03 Nov 2003
Posts: 1220
Location: Hursley

I just hope it does. It does sound a similar problem though
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » What happens if I put-disable 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.