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

Avoid Unnecessary Chunk Cache Usage During Compaction

    XMLWordPrintableJSON

Details

    • Performance
    • Normal
    • All
    • None

    Description

      We have at least some evidence from CASSANDRA-16036 that compaction can cause significant churn in the chunk cache for a mixed workloads. Conceptually, this makes sense, as the files compaction is scanning are destined for deletion. It seems like we could avoid most of the cache churn mess by having the ISSTableScanner implementations returned by SSTableReader during compaction use file handles that don't use CachingRebufferer. FileHandle.Builder#complete() already seems to roughly have the logic we would need to produce the correct (uncached) RebuffererFactory.

      (NOTE: SSTableReader#getScanner(ColumnFilter, DataRange, SSTableReadsListener) is used on the read path, and we likely don't want to touch it here.)

      Given that CASSANDRA-16036 settled on disabling the chunk cache by default in 4.0, CASSANDRA-15229 further segregates the negative effects of this, and it isn't entirely clear that the decompression/decryption cache is actually adding measurable value for any workload, this may not be a critical priority for 4.0.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              maedhroz Caleb Rackliffe
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated: