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

Convert row cache to row+filter cache

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Low
    • Resolution: Duplicate
    • 2.1 beta1
    • None
    • None

    Description

      Changing the row cache to a row+filter cache would make it much more useful. We currently have to warn against using the row cache with wide rows, where the read pattern is typically a peek at the head, but this usecase would be perfect supported by a cache that stored only columns matching the filter.

      Possible implementations:

      • (copout) Cache a single filter per row, and leave the cache key as is
      • Cache a list of filters per row, leaving the cache key as is: this is likely to have some gotchas for weird usage patterns, and it requires the list overheard
      • Change the cache key to "rowkey+filterid": basically ideal, but you need a secondary index to lookup cache entries by rowkey so that you can keep them in sync with the memtable
      • others?

      Attachments

        1. 0001-1956-cache-updates-v0.patch
          36 kB
          Vijay
        2. 0001-commiting-block-cache.patch
          39 kB
          Vijay
        3. 0001-re-factor-row-cache.patch
          38 kB
          Vijay
        4. 0001-row-cache-filter.patch
          106 kB
          Daniel Doubleday
        5. 0002-1956-updates-to-thrift-and-avro-v0.patch
          1 kB
          Vijay
        6. 0002-add-query-cache.patch
          6 kB
          Vijay

        Issue Links

          Activity

            People

              vijay2win@yahoo.com Vijay
              stuhood Stu Hood
              Vijay
              Sylvain Lebresne
              Votes:
              4 Vote for this issue
              Watchers:
              28 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: