hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-15016) StoreServices facility in Region
Date Wed, 30 Dec 2015 19:54:49 GMT

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

Mime
View raw message