Migrate cached pages during compaction 
---------------------------------------

                 Key: CASSANDRA-1902
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1902
             Project: Cassandra
          Issue Type: Improvement
          Components: Core
    Affects Versions: 0.7.1
            Reporter: T Jake Luciani
            Assignee: T Jake Luciani


Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a 
pre-compacted CF during the compaction process.  

First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that uses 
the posix mincore() function to detect the offsets of pages for this file 
currently in page cache.

Then add getActiveKeys() which uses underlying pagesInPageCache() to get the 
keys actually in the page cache.

use getActiveKeys() to detect which SSTables being compacted are in the os 
cache and make sure the subsequent pages in the new compacted SSTable are kept 
in the page cache for these keys. This will minimize the impact of compacting a 
"hot" SSTable.

A simpler yet similar approach is described here: 
http://insights.oetiker.ch/linux/fadvise/


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to