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

Topology events are not sent to clients if the nodes use the same network interface

    XMLWordPrintableJSON

Details

    Description

      This bug only happens when the cassandra nodes are configured to use a single network interface (ip) but different ports.  See CASSANDRA-7544.

      Issue: The topology events aren't sent to clients. The problem is that the port is not taken into account when determining if we send it or not:
      https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/transport/Server.java#L624

      To reproduce:

      # I think the cassandra-test branch is required to get the -S option (USE_SINGLE_INTERFACE)
      ccm create -n4 local40 -v 4.0-alpha2 -S
      

       
      Then run this small python driver script:

      import time
      from cassandra.cluster import Cluster
      
      cluster = Cluster()
      session = cluster.connect()
      
      while True:
          print(cluster.metadata.all_hosts())
          print([h.is_up for h in cluster.metadata.all_hosts()])
          time.sleep(5)
      

      Then decommission a node:

      ccm node2 nodetool disablebinary
      ccm node2 nodetool decommission
      

       
      You should see that the node is never removed from the client cluster metadata and the reconnector started.

      Attachments

        Issue Links

          Activity

            People

              bryncooke Bryn Cooke
              aboudreault Alan Boudreault
              Bryn Cooke
              Brandon Williams
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 20m
                  2h 20m