Details

      Description

      With CASSANDRA-5351 and CASSANDRA-2424 I think there is an opportunity to avoid a lot of extra disk I/O when running queries with higher consistency levels.

      Since repaired data is by definition consistent and we know which sstables are repaired, we can optimize the read path by having a REPAIRED_QUORUM which breaks reads into two phases:

      1) Read from one replica the result from the repaired sstables.
      2) Read from a quorum only the un-repaired data.

      For the node performing 1) we can pipeline the call so it's a single hop.

      In the long run (assuming data is repaired regularly) we will end up with much closer to CL.ONE performance while maintaining consistency.

      Some things to figure out:

      • If repairs fail on some nodes we can have a situation where we don't have a consistent repaired state across the replicas.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                tjake T Jake Luciani
              • Votes:
                2 Vote for this issue
                Watchers:
                30 Start watching this issue

                Dates

                • Created:
                  Updated: