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 » Removing a Partial repository from Cluster

Post new topic  Reply to topic
 Removing a Partial repository from Cluster « View previous topic :: View next topic » 
Author Message
saurabh25281
PostPosted: Fri Jun 14, 2019 4:29 am    Post subject: Removing a Partial repository from Cluster Reply with quote

Centurion

Joined: 05 Nov 2006
Posts: 107
Location: Bangalore

Hi All,

I was trying to find out documentation for removing a Partial repository from a Cluster. While I did not get the exact documentation on removing a Partial repository, it was more generic i.e. "Removing a queue manager from a cluster"

Assuming the above link also covers removing a Partial Repository from a Cluster, is the documentation correct? because contrary to many other discussions on the same topic there are some steps that this link seems to be missing, for e.g.

1. For a start "Suspending a Qmgr from Cluster".
2. The above links says that, before removing a Qmgr, it is necessary to remove resources (queues, topics) that are hosted on the Qmgr. Is this mandatory?
3. It does not specify, removing auto-defined Cluster Sender channels from Qmgrs. Without this step, Qmgr will be removed from Cluster & will not be visible from MQ Explorer, however, "dis clusqmgr(*)" will still return some auto-defined cluster sender channels.

Below are the High Level Steps that worked for me and would like verify if any of the steps are redundant?
1. Suspend the Queue Manager from the Cluster.
2. Modify the cluster channel definitions and remove the cluster name from cluster attribute.
3. Monitor the cluster transmit queue until there are no messages that are waiting to flow to any full repository in the cluster.
4. Stop the auto-defined cluster sender channels on full repositories (that point to Partial repository).
5. Stop & Delete the Cluster Sender & Receiver channels on the Partial Reposiotry.
6. Stop the Auto Defined Cluster Sender channels to all the Full Repositories.
7. Refresh the Cluster information (with REPOS(YES) ) on the Partial repository.

So to sum up, my questions are,
1. Am I not looking into correct documentation and if there is some alternate documentation?
2. Assuming I am looking into correct documentation, is the documentation correct?
3. Assuming the documentation is correct, what is wrong in the steps that works for me?
4. Are there any steps in my lists which are redundant or are the steps still incomplete?

Regards
Saurabh
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Vitor
PostPosted: Fri Jun 14, 2019 4:41 am    Post subject: Re: Removing a Partial repository from Cluster Reply with quote

Grand High Poobah

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

saurabh25281 wrote:
I was trying to find out documentation for removing a Partial repository from a Cluster. While I did not get the exact documentation on removing a Partial repository, it was more generic i.e. "Removing a queue manager from a cluster"


Because any queue manager in a cluster that's not specifically set (via it's attributes) to be a Full Repository is a Partial Repository. I'm interested on how you've determined the queue manager in question is a Partial Repository and not Just Another Queue Manager.


_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Fri Jun 14, 2019 4:52 am    Post subject: Re: Removing a Partial repository from Cluster Reply with quote

Grand High Poobah

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

saurabh25281 wrote:

So to sum up, my questions are,
1. Am I not looking into correct documentation and if there is some alternate documentation?


This is the correct documentation.

saurabh25281 wrote:

2. Assuming I am looking into correct documentation, is the documentation correct?


Yes

saurabh25281 wrote:

3. Assuming the documentation is correct, what is wrong in the steps that works for me?


The high level problem seems to me to be a lack of patience. Suspending a queue manager from the cluster doesn't stop cluster activity, it notifies the full repository that the queue manager no longer wishes to participate. Activity will spin down as applications which are currently using it are diverted away. Once this has stopped, then you can continue with the documented steps. This is why you remove the cluster resources (queues, topics) from the queue manager; to speed and facilitate this.

saurabh25281 wrote:
4. Are there any steps in my lists which are redundant or are the steps still incomplete?


You should not manually interfere with the auto defined channels on any queue manager. At best it's a waste of time, at worst you'll make the repository's view of what's going on redundant. So they appear in MQ Explorer until they spin down - the problem with this is what exactly?

Patience is a virture

You should also not refresh the cluster information with REPOS(YES). It's a waste of time on a Partial Repository and if someone down the line follows your instructions and accidentally issues it on a Full Repository then they will curse your name.

Refreshing a cluster is an act taken after due deliberation and after other options have been exhausted. [/quote]
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jun 14, 2019 8:31 am    Post subject: Reply with quote

Grand High Poobah

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

Let's be a little bit more precise:
When the documentation says remove the clustered resources (queues,topics) it does not mean that you should delete the resource. You just need to remove the cluster/cluster name list attribute from it, so as to make the object no longer eligible to participate in MQ clustering.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Vitor
PostPosted: Fri Jun 14, 2019 9:06 am    Post subject: Reply with quote

Grand High Poobah

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

fjb_saper wrote:
Let's be a little bit more precise:


You're still possessed by the spirit of my old English tutor. More crystals.

But you do make a valid point.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
saurabh25281
PostPosted: Fri Jun 14, 2019 1:21 pm    Post subject: Reply with quote

Centurion

Joined: 05 Nov 2006
Posts: 107
Location: Bangalore

Quote:
The high level problem seems to me to be a lack of patience. Suspending a queue manager from the cluster doesn't stop cluster activity, it notifies the full repository that the queue manager no longer wishes to participate. Activity will spin down as applications which are currently using it are diverted away. Once this has stopped, then you can continue with the documented steps. This is why you remove the cluster resources (queues, topics) from the queue manager; to speed and facilitate this.


1. Doesn't both the options i.e. Suspending Qmgr & Removing Clustered objects (Removing cluster names from Cluster attribute) have same effect w.r.t. speed, i.e. in both cases, applications connected to clustered objects will be diverted away after application reconnects. I don't see any specific benefit with removing cluster objects. Correct me if my understanding is wrong. Does a connected application closes the connections to the object as soon we remove the cluster name from the attribute as compared to suspending a Qmgr?

Quote:
You should not manually interfere with the auto defined channels on any queue manager. At best it's a waste of time, at worst you'll make the repository's view of what's going on redundant. So they appear in MQ Explorer until they spin down - the problem with this is what exactly?

2. We are building a MQ Explorer like tool, that is web based. We would like to remove a partial repository in a clean manner which returns to pre-cluster configuration. Now why the client would like to re-invent the wheel with MQ-Explorer like feature is a different discussion altogether. There are other additional fancy features that we are being paid for.

Quote:
You should also not refresh the cluster information with REPOS(YES). It's a waste of time on a Partial Repository and if someone down the line follows your instructions and accidentally issues it on a Full Repository then they will curse your name.

3. Our instruction will be implemented in Java code and hence there is no other way to accidentally run this for Full repository.

Quote:
Refreshing a cluster is an act taken after due deliberation and after other options have been exhausted.

4. Can you please tell me another way, not using Cluster Refresh command to remove auto-defined cluster sender channels.

Quote:
When the documentation says remove the clustered resources (queues,topics) it does not mean that you should delete the resource. You just need to remove the cluster/cluster name list attribute from it, so as to make the object no longer eligible to participate in MQ clustering.

Thanks for the clarification.
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
Vitor
PostPosted: Mon Jun 17, 2019 4:48 am    Post subject: Reply with quote

Grand High Poobah

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

saurabh25281 wrote:
1. Doesn't both the options i.e. Suspending Qmgr & Removing Clustered objects (Removing cluster names from Cluster attribute) have same effect w.r.t. speed, i.e. in both cases, applications connected to clustered objects will be diverted away after application reconnects. I don't see any specific benefit with removing cluster objects. Correct me if my understanding is wrong. Does a connected application closes the connections to the object as soon we remove the cluster name from the attribute as compared to suspending a Qmgr?


You suspend a queue manager when you want to remove all cluster resources from consideration in workload distribution. Removing the cluster attributes removes that resource from the cluster. Suspended objects still appear in the FR registry.

All of this works at connection time. Once the application has established a connection, that connection remains irrespective of the cluster status.

saurabh25281 wrote:
2. We are building a MQ Explorer like tool, that is web based. We would like to remove a partial repository in a clean manner which returns to pre-cluster configuration. Now why the client would like to re-invent the wheel with MQ-Explorer like feature is a different discussion altogether. There are other additional fancy features that we are being paid for.


I would like to fabulously wealthy, but I'm going to be disappointed like your client is. You can't return a queue manager to a pre-cluster state with a snap of the fingers, even with a re-invented wheel.

saurabh25281 wrote:
3. Our instruction will be implemented in Java code and hence there is no other way to accidentally run this for Full repository.


It's still a waste of time especially if an application is still connected. Does your code actually check to see if the target queue manager is a full repository, and error out if it is?

saurabh25281 wrote:
4. Can you please tell me another way, not using Cluster Refresh command to remove auto-defined cluster sender channels.


Force all the applications using them to disconnect and then wait 30 days.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Mon Jun 17, 2019 4:21 pm    Post subject: Reply with quote

Jedi

Joined: 25 Mar 2003
Posts: 2492
Location: Melbourne, Australia

saurabh25281 wrote:
...
2. We are building a MQ Explorer like tool, that is web based. We would like to remove a partial repository in a clean manner which returns to pre-cluster configuration. Now why the client would like to re-invent the wheel with MQ-Explorer like feature is a different discussion altogether. There are other additional fancy features that we are being paid for.

What are the business requirements and use cases for providing an adminstrative tool to remove a MQ queue manager from a MQ Cluster?
Usually a qmgr is in a cluster because of a messaging design requirement, and it is added as part of initial creation and configuration of the qmgr.
We have a lot of qmgrs in clusters and 99% of them stay there for the life of the qmgr (10+ years... YMMV).
If we do need to remove a qmgr, we are happy to follow the documented manual steps, as we only do it about once a year.
If there were any real benefit or cost saving in providing a tool, we would have done it years ago.
_________________
Glenn
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Jun 18, 2019 5:42 am    Post subject: Reply with quote

Grand High Poobah

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

gbaddeley wrote:
saurabh25281 wrote:
...
2. We are building a MQ Explorer like tool, that is web based. We would like to remove a partial repository in a clean manner which returns to pre-cluster configuration. Now why the client would like to re-invent the wheel with MQ-Explorer like feature is a different discussion altogether. There are other additional fancy features that we are being paid for.

What are the business requirements and use cases for providing an adminstrative tool to remove a MQ queue manager from a MQ Cluster?
Usually a qmgr is in a cluster because of a messaging design requirement, and it is added as part of initial creation and configuration of the qmgr.
We have a lot of qmgrs in clusters and 99% of them stay there for the life of the qmgr (10+ years... YMMV).
If we do need to remove a qmgr, we are happy to follow the documented manual steps, as we only do it about once a year.
If there were any real benefit or cost saving in providing a tool, we would have done it years ago.




_________________
Honesty is the best policy.
Insanity is the best defence.
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 » Removing a Partial repository from Cluster
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.