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

Replacement nodes have null entries in system.peers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 1.2.17, 2.0.9, 2.1 rc1
    • None
    • None
    • Normal

    Description

      If a node is replaced with -Dcassandra.replace_address, the new node has mostly null entries in system.peers:

      > select * from system.peers;
      
       peer      | data_center | host_id | rack | release_version | rpc_address | schema_version | tokens
      -----------+-------------+---------+------+-----------------+-------------+----------------+--------------------------
       127.0.0.3 |        null |    null | null |            null |        null |           null | {'-3074457345618258602'}
      

      To reproduce, simply kill a node and replace it. The entries are correctly populated if the replacement node is restarted but they are never populated if it isn't.

      I can think of at least two bad consequences of this:

      1. Drivers like Datastax java-driver use the peers table to find the rpc_address and location info of a node. If the entires are null it assumes rpc_address=ip and the node is in the local DC.
      2. When using GossipingPropertyFileSnitch and node won't persist the DC/rack of another node so may not be able to locate it during restarts.

      I reproduced in 1.2.15 but from inspection it looks to be present in 1.2.16 and 2.0.7.

      Attachments

        1. 7122.txt
          2 kB
          Brandon Williams

        Activity

          People

            brandon.williams Brandon Williams
            rlow Richard Low
            Brandon Williams
            Richard Low
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: