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 Mon, 28 Dec 2015 17:30:49 GMT

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

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

Who is providing the services? The Region or the Store?

When I read the StoreServices Interface, it looks like Services we want of the Region?  If
so, should it be RegionServices (for use by the Store) rather than StoreServices?

Why is it a fluctuating memstore size rather than just memstore size?  This method in StoreServices,
addAndGetFluctuatingMemstoreSize, is it for all Stores in the region or for the current Store
only?

Is getMemstoreActiveSize for the current Store or all Stores under the Region?

This call is actually complicated in implementation... getWalSequenceId... and not used elsewhere
by this patch (maybe it is used over in the pipeline patch). Does it have to be exposed?

Drop  'ForFlushPolicy' from name of this method...

getMemStoreSizeForFlushPolicy

... it is redundant (yeah, size is determined by a flush policy but don't have to say so in
method name). This is to be use by the region figuring when to flush?

Does the soft limit in the HRegion belong in this patch?

In the hbase-common, you refer to a class type that is downstream in hbase-server. We are
trying to have modules not have inter-dependencies if possible... at least not ones that go
in this direction... from upstream to downstream dependency (downstream to upstream is ok):

nit:   public static final int STORE_SERVICES;

Does getStoreServices have to be public? Store is in same package as Region.

High-level, all makes sense. Concepts in patch need to be made more clean cut. Thanks.



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