Details
-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
0
-
0%
Description
For TCPPING, usually all members have to be listed in initial_hosts. If we don't know all of the members up front, we could have the coordinator disseminate the IP address and port information dynamically.
Say TCPPING.initial_hosts only lists A (the coord). When members B, C, D and E join (in that order), we have the following caches:
A | B | C | D | E |
ABCDE | AB | AC | AD | AE |
Every member has information about itself and A, but not about other members. So, for example, D won't be able to send a unicast to C, and vice versa. Or, when E sends a multicast, it would only be delivered to itself and A, but not to B, C and D.
Solution
- When we have a static discovery layer, have the coordinator broadcast its cache information to the rest of the cluster
- This can be done when a new member join, or periodically, or upon request (JMX)
- Should be goverened by a property: if someone lists all members in initial_hosts, then he may want to turn this off