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

Client TOPOLOGY_CHANGE messages have wrong port.

    XMLWordPrintableJSON

    Details

    • Severity:
      Critical

      Description

      Summary:

      TOPOLOGY_CHANGE events that are recieved by the client(Driver), with C* 4.0 (Trunk). Contain the storage port (7000) rather than the native port (9042). I believe this is due to changes stuck in for CASSANDRA-7544.  

      I was able to track it down to this specific call here.
      https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/StorageService.java#L1703

      We need an accurate port number from this Topology change event, otherwise we won't be able to correlate node up event against the system.peers_v2 table accurately.

      C* version I'm testing against : 4.0.x (trunk)

      Steps to reproduce:

      1. create a single node, cluster, in this case I'm using ccm.

      ccm create 400-1 --install-dir=/Users/gregbestland/git/cassandra
      ccm populate -n 1
      ccm start
      

      2. Connect the java driver, and check metadata.
      see that there is one node with the correct native port (9042).

      3. Add a brand new node:

      ccm add node2 -i 127.0.0.2
      ccm node2 start
      

      4. Incoming topology change message to client will have the storage port, rather then the native port in the message.

        Attachments

          Activity

            People

            • Assignee:
              aweisberg Ariel Weisberg
              Reporter:
              greg.bestland Greg Bestland
              Authors:
              Ariel Weisberg
              Reviewers:
              Greg Bestland
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: