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 C02E0D578 for ; Thu, 21 Feb 2013 04:18:17 +0000 (UTC) Received: (qmail 48911 invoked by uid 500); 21 Feb 2013 04:18:16 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 48612 invoked by uid 500); 21 Feb 2013 04:18:15 -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 48581 invoked by uid 99); 21 Feb 2013 04:18:15 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Feb 2013 04:18:15 +0000 Date: Thu, 21 Feb 2013 04:18:15 +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: ------------------------------------ Priority: Critical (was: Major) > 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 > Reporter: Sergey Shelukhin > Assignee: Sergey Shelukhin > Priority: Critical > > 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