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

Add repair aware consistency levels

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsAdd voteVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned Assign to me
            tjake T Jake Luciani

            Dates

              Created:
              Updated:

              Slack

                Issue deployment