Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CE5E410236 for ; Fri, 5 Apr 2013 19:59:19 +0000 (UTC) Received: (qmail 75033 invoked by uid 500); 5 Apr 2013 19:59:19 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 74984 invoked by uid 500); 5 Apr 2013 19:59:19 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 74973 invoked by uid 99); 5 Apr 2013 19:59:19 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 05 Apr 2013 19:59:19 +0000 Date: Fri, 5 Apr 2013 19:59:19 +0000 (UTC) From: "Elliott Clark (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-7842) Add compaction policy that explores more storefile groups MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-7842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Elliott Clark updated HBASE-7842: --------------------------------- Attachment: HBASE-7842-6.patch Renamed DefaultCompactionPolicy to RatioBasedCompactionPolicy > Add compaction policy that explores more storefile groups > --------------------------------------------------------- > > Key: HBASE-7842 > URL: https://issues.apache.org/jira/browse/HBASE-7842 > Project: HBase > Issue Type: New Feature > Components: Compaction > Reporter: Elliott Clark > Assignee: Elliott Clark > Attachments: HBASE-7842-0.patch, HBASE-7842-2.patch, HBASE-7842-3.patch, HBASE-7842-4.patch, HBASE-7842-5.patch, HBASE-7842-6.patch > > > Some workloads that are not as stable can have compactions that are too large or too small using the current storefile selection algorithm. > Currently: > * Find the first file that Size(fi) <= Sum(0, i-1, FileSize(fx)) > * Ensure that there are the min number of files (if there aren't then bail out) > * If there are too many files keep the larger ones. > I would propose something like: > * Find all sets of storefiles where every file satisfies > ** FileSize(fi) <= Sum(0, i-1, FileSize(fx)) > ** Num files in set =< max > ** Num Files in set >= min > * Then pick the set of files that maximizes ((# storefiles in set) / Sum(FileSize(fx))) > The thinking is that the above algorithm is pretty easy reason about, all files satisfy the ratio, and should rewrite the least amount of data to get the biggest impact in seeks. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira