hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eshcar Hillel (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15016) StoreServices facility in Region
Date Thu, 24 Dec 2015 08:02:49 GMT

    [ 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

View raw message