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

Partition-restricted index and queries that use strict replica filtering can use SinglePartitionReadCommand

    XMLWordPrintableJSON

Details

    Description

      Index and filtering queries have historically always been treated as range reads. However, when they are restricted to a partition, there is no reason they cannot be handled like single-partition reads, flowing through StorageProxy#fetchRows(). The benefit of doing this is that we may be able to take advantage of digest reads. The caveat is that this may not be possible (or worthwhile) when, for instance, SAI queries do not use strict filtering. When strict filtering is not active, we may need to filter combined replica results at the coordinator even when there isn’t a digest mismatch. When there is a digest mismatch, replica filtering protection will kick in during the read repair process and safely resolve this.

      tl;dr We can safely treat partition-restricted index/SAI/filtering queries as single-partition reads, but initially it may be safest to do this only when strict filtering is enabled.

      Attachments

        1. ci_summary.html
          55 kB
          Caleb Rackliffe
        2. ci_summary-1.html
          24 kB
          Caleb Rackliffe

        Activity

          People

            maedhroz Caleb Rackliffe
            maedhroz Caleb Rackliffe
            Caleb Rackliffe
            Ariel Weisberg
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m