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

Client TOPOLOGY_CHANGE messages have wrong port.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Urgent
    • Resolution: Fixed
    • 4.0-alpha1, 4.0
    • Legacy/Core
    • None
    • Critical
    • Clients

    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

            aweisberg Ariel Weisberg
            greg.bestland Greg Bestland
            Ariel Weisberg
            Greg Bestland
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: