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

Read Repair behavior thwarts DynamicEndpointSnitch at CL.ONE

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 0.6.9, 0.7.0 rc 3
    • None
    • None
    • Normal

    Description

      When doing a CL.ONE read, the coordinator node selects the data node from the list of replicas via snitch sortByProximity. The data node (not the coordinator) then sends digest requests to the remaining replicas, and compares their answers to its own (in ConsistencyChecker).

      This means that, in a multi-datacenter situation, for any given range R with replicas X in dc1 and Y in dc2, the only node with latency information for Y will be X. Since DES falls back to subsnitch (static) order when latency information is missing for any replica it is asked to sort, DES will be unable to direct requests to Y no matter how overwhelmed X becomes.

      To fix this, we should move the digest-checking code into the coordinator node (probably starting with the 0.7 ConsistencyChecker, which represents a cleanup of the 0.6 one).

      Attachments

        1. 1873.txt
          14 kB
          Jonathan Ellis

        Activity

          People

            jbellis Jonathan Ellis
            jbellis Jonathan Ellis
            Jonathan Ellis
            Brandon Williams
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: