[ 
https://issues.apache.org/jira/browse/HBASE-15016?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075360#comment-15075360
 ] 

stack commented on HBASE-15016:
-------------------------------

RegionStoresProxy is a mouthful. It also combines Types -- Region and Store -- 
but with no hint on how they relate... and then to this new combine, we get a 
proxy.  I'm having trouble understanding what this does.

bq. There are two counters: memstoreSize and memstoreFluctuatingSize, and the 
active size is their difference.

The implication is that memstoreSize does not fluctuate but it does, right? And 
then the global size is not 'active'?

bq. One of the services that the new memstore needs from region is getting the 
wal sequence id, as they are associated with the segments in the memstore, so 
these are exposed here.

What is the service? My point is that sequenceid is a difficult to manage 
counter with dependents who expect it to be incrementing and associated with an 
edit that will run through mvcc system. An errant user who does not adhere to 
the complex internal 'contract' could mess up our forward progress. Hence my 
waryness exposing it.

Let me have a go at this patch. Will be back in a sec.... 





> 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, HBASE-15016-V02.patch, 
> HBASE-15016-V03.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