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 1579BE08A for ; Thu, 28 Feb 2013 03:45:15 +0000 (UTC) Received: (qmail 69846 invoked by uid 500); 28 Feb 2013 03:45:14 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 69800 invoked by uid 500); 28 Feb 2013 03:45:14 -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 69520 invoked by uid 99); 28 Feb 2013 03:45:14 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 Feb 2013 03:45:14 +0000 Date: Thu, 28 Feb 2013 03:45:14 +0000 (UTC) From: "Sergey Shelukhin (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-7843) enable encapsulating compaction policy/compactor/store file manager interaction shennanigans 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-7843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sergey Shelukhin updated HBASE-7843: ------------------------------------ Resolution: Fixed Status: Resolved (was: Patch Available) In trunk and 0.95 > enable encapsulating compaction policy/compactor/store file manager interaction shennanigans > -------------------------------------------------------------------------------------------- > > Key: HBASE-7843 > URL: https://issues.apache.org/jira/browse/HBASE-7843 > Project: HBase > Issue Type: Improvement > Components: Compaction > Affects Versions: 0.96.0 > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Priority: Critical > Fix For: 0.95.0 > > Attachments: HBASE-7843-v0.patch, HBASE-7843-v1.patch, HBASE-7843-v2.patch > > > To avoid massive casting and/or deciphering of structures traveling between SFM, compaction policy, and compactor in non-trivial compaction schemes like stripe or level, we need to make interaction between themselves hidden. > Elsewhere, the changes are being made to coprocessor for compactions that will make CompactionRequest a limited-visibility class for users, with coprocessors being able to subclass and return it. -This seems like a viable solution for the problem at hand too. Policy will (optionally) subclass compaction request and return it. Instead of calling something.compact(req), req.compact() will be called (with "something" already stored inside req as of now), after which, magic will happen.- > After merging that code I actually see that subclassing compactionrequest in both will break the policy, or require bunch of ugly code in coprocessors (a subclass for every policy, and telling them apart. -- 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