You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "T Jake Luciani (JIRA)" <ji...@apache.org> on 2011/01/06 19:47:46 UTC

[jira] Issue Comment Edited: (CASSANDRA-1902) Migrate cached pages during compaction

    [ https://issues.apache.org/jira/browse/CASSANDRA-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978450#action_12978450 ] 

T Jake Luciani edited comment on CASSANDRA-1902 at 1/6/11 1:46 PM:
-------------------------------------------------------------------

Right, *not* DONTNEEDing the pages needed should prob be fine just thought WILLNEED might ensure these pages are kept over the presumably active older sstables.

So you are recommending a binary flag like "compaction.hotness.migration.thresh = .5"? I was thinking the same for simplicity sake.  



      was (Author: tjake):
    Right, *not* DONTNEEDing the pages needed should prob be fine just though will need might ensure these pages are kept over the presumably active older sstables.

So you are recommending a binary flag like "compaction.hotness.migration.thresh = .5"? I was thinking the same for simplicity sake.  


  
> 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
>             Fix For: 0.7.1
>
>   Original Estimate: 32h
>  Remaining Estimate: 32h
>
> 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.