[ 
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)

Reply via email to