Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 22631 invoked from network); 18 Feb 2011 01:52:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Feb 2011 01:52:36 -0000 Received: (qmail 99283 invoked by uid 500); 18 Feb 2011 01:52:35 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 99251 invoked by uid 500); 18 Feb 2011 01:52:35 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 99243 invoked by uid 99); 18 Feb 2011 01:52:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Feb 2011 01:52:35 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 18 Feb 2011 01:52:33 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 0F3CF1AC3ED for ; Fri, 18 Feb 2011 01:52:12 +0000 (UTC) Date: Fri, 18 Feb 2011 01:52:12 +0000 (UTC) From: "Chris Goffinet (JIRA)" To: commits@cassandra.apache.org Message-ID: <1772740098.836.1297993932059.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <32519327.13481293215925846.JavaMail.jira@thor> Subject: [jira] Issue Comment Edited: (CASSANDRA-1902) Migrate cached pages during compaction MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/CASSANDRA-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12996199#comment-12996199 ] Chris Goffinet edited comment on CASSANDRA-1902 at 2/18/11 1:52 AM: -------------------------------------------------------------------- Couldn't we build a list when reading/writing of the SSTables the first time, so that after new SSTable write is finished, we just mmap through the page cache, and we already know the new locations on the first pass? was (Author: lenn0x): Couldn't we build a list when reading/writing of the mappings, so that after write is finished, we just mmap through the page cache, and we already know the new locations on the first pass? > 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.3 > > Attachments: 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt > > Original Estimate: 32h > Time Spent: 24h > Remaining Estimate: 8h > > 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. - For more information on JIRA, see: http://www.atlassian.com/software/jira