Re: [jgroups-users] removing unknown address from cluster? JGRP000032
Questions/problems related to using JGroups via javagroups-users <[email protected]> Wed, 26 May 2021 09:25:48 +0200
| Newsgroups | gmane.comp.java.javagroups.general |
|---|---|
| Message-ID | <mailman.42289.1622013971.2952.javagroups-users@lists.sourceforge.net> |
On 25.05.21 18:59, Questions/problems related to using JGroups wrote: > On Tue, May 25, 2021 at 10:30 AM Questions/problems related to using > JGroups via javagroups-users <[email protected] > <mailto:[email protected]>> wrote: > > Hi Bobby > apologies for the delay! > > > No problem -- thanks for looking. > > > You cannot have the old cluster's initial_hosts be 128,129,130 and the > new one has the overlapping range 130,131. > > > That's the problem. The customer has lots of nodes, clusters that grow > and shrink, and they're going to reuse the same IP addresses eventually. Then using TCPPING for the discovery is the wrong solution; it is designed for a static cluster with a fixed and known membership. For the above requirements, I'd rather recommend: * A dynamic discovery mechanism (TCPGOSSIP, FILE_PING, GOOGLE_PING etc) * Emphemeral ports * A new (different) cluster name for each new cluster that is started > The old cluster will try to contact 130 (e.g. trying to merge), thereby > send its information to 130. > > > Right, and what they want is some way to fully remove a node from a > cluster. I.e. the cluster stops trying to contact that address. Then you would have to remove the 130 node from the old cluster's initial_hosts (TCPPING) and TCP's logical address cache. Either by restarting, or by programmatically removing it. This can get complex quickly though, as you'd have to maintain a list of ports per cluster. The first solution above is much better IMO. > What is it you're trying to achieve? > > > Simply to take a node out of a cluster when it's not needed, then later > reuse the address of that node with a different cluster. If I change the > cluster names (same port though) then I still get constant warnings, like: > JGRP000012: discarded message from different cluster <old> (our cluster > is <new>). Sender was <some addr> > > We can suggest that they restart the cluster after removing a node, but > I don't know if that will work for them. I'll also try using different > ports for different clusters and see how that works for them. That will certainly work, but - again - you'd have to maintain ports numbers for each cluster. Registration service? Excel spreadsheet? > Given the size of the company in question, I can see that it might be hard to > coordinate that and eventually they'll get back in the same situation > where a previously used address is being used again with the same port > it used the last time. Right. So I have to come back to my suggestion of not using TCPPING! Cheers, > Thanks, > Bobby > > > > _______________________________________________ > javagroups-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/javagroups-users > -- Bela Ban | http://www.jgroups.org