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 0212A1822D for ; Thu, 24 Dec 2015 08:02:53 +0000 (UTC) Received: (qmail 68378 invoked by uid 500); 24 Dec 2015 08:02:49 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 68326 invoked by uid 500); 24 Dec 2015 08:02:49 -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 68314 invoked by uid 99); 24 Dec 2015 08:02:49 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Dec 2015 08:02:49 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id A8F8C2C1F57 for ; Thu, 24 Dec 2015 08:02:49 +0000 (UTC) Date: Thu, 24 Dec 2015 08:02:49 +0000 (UTC) From: "Eshcar Hillel (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-15016) StoreServices facility in Region 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-15016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15070733#comment-15070733 ] Eshcar Hillel commented on HBASE-15016: --------------------------------------- The patch is attached. Recap: Future memstore optimizations such as memstore compaction, compression, and off-heaping, require some interface with services at the region level. For this purpose we introduce the StoreServices class. In addition to being the interface through which memstore access services, it also maintains additional data that is updated by memstores and can be queried by the region. This patch also refines and extends region-to-store communication. Since this is the normal flow of data, there is no need to create a new interface and the API of Store is extended (with the 2 methods described in the previous comment). Finally, this patch refines the region method which decides to invoke a flush. The decision is captured in the new invokeFlushIfNeeded() method. The decision in based also on data stored in the StoreServices objects. > StoreServices facility in Region > -------------------------------- > > Key: HBASE-15016 > URL: https://issues.apache.org/jira/browse/HBASE-15016 > Project: HBase > Issue Type: Sub-task > Reporter: Eshcar Hillel > Assignee: Eshcar Hillel > Attachments: HBASE-15016-V01.patch > > > The default implementation of a memstore ensures that between two flushes the memstore size increases monotonically. Supporting new memstores that store data in different formats (specifically, compressed), or that allows to eliminate data redundancies in memory (e.g., via compaction), means that the size of the data stored in memory can decrease even between two flushes. This requires memstores to have access to facilities that manipulate region counters and synchronization. > This subtasks introduces a new region interface -- StoreServices, through which store components can access these facilities. -- This message was sent by Atlassian JIRA (v6.3.4#6332)