Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-15339

Make available the known JMX endpoints across the cluster

    XMLWordPrintableJSON

    Details

    • Change Category:
      Operability
    • Complexity:
      Normal
    • Platform:
      All
    • Impacts:
      None

      Description

      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).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                mck Michael Semb Wever
                Reporter:
                mck Michael Semb Wever
                Authors:
                Michael Semb Wever
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: