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

nodes should go into hibernate when join_ring is false

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 2.0.7, 2.1 beta2
    • Component/s: None
    • Labels:

      Description

      The impetus here is this: a node that was down for some period and comes back can serve stale information. We know from CASSANDRA-768 that we can't just wait for hints, and know that tangentially related CASSANDRA-3569 prevents us from having the node in a down (from the FD's POV) state handle streaming.

      We can almost set join_ring to false, then repair, and then join the ring to narrow the window (actually, you can do this and everything succeeds because the node doesn't know it's a member yet, which is probably a bit of a bug.) If instead we modified this to put the node in hibernate, like replace_address does, it could work almost like replace, except you could run a repair (manually) while in the hibernate state, and then flip to normal when it's done.

      This won't prevent the staleness 100%, but it will greatly reduce the chance if the node has been down a significant amount of time.

        Attachments

        1. 6961.txt
          14 kB
          Brandon Williams

          Activity

            People

            • Assignee:
              brandon.williams Brandon Williams
              Reporter:
              brandon.williams Brandon Williams
              Reviewer:
              Tyler Hobbs
              Tester:
              Ryan McGuire
            • Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: