With the addition of multiple nodes running on the same server using different ports:
CASSANDRA-7544 ; it becomes more difficult for third-party tools to easily connect to all nodes based on the jmx connection details to just one node.
By adding jmx host and port to gossip, and saving it in system.peers_v2, the list of all jmx endpoints in a cluster can be fetch after just the initial successful jmx connection and the StorageServiceMBean.getJmxEndpoints() method.
And example of the difficulty can be illustrated through the potential workaround…
Such a third-party tool could make a native protocol connection, and via the driver obtain the list of all possible `host:port` native protocol connections, and make a connection to each of these then requesting the configuration virtual table, from which the jmx port can be obtained. This is a rather cumbersome approach, and can involve third-party tools having to add native connection functionality and dependencies. It's also currently not possible because
CASSANDRA-14573 does not provide the jmx port (it only offers the yaml settings).