You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "stack (JIRA)" <ji...@apache.org> on 2016/01/06 23:08:39 UTC

[jira] [Updated] (HBASE-15016) StoreServices facility in Region

     [ https://issues.apache.org/jira/browse/HBASE-15016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-15016:
--------------------------
    Attachment: suggestion.patch

Just adds the new high flush threshold without disturbing or changing meaning of old settings/configurations.
Removes all notion of fluctuating and active from Region space. These concepts are internal affairs of Store
and leak out of the incoming new in-memory flushing Store. The only 'size' externalized by the Store is its
memstore size, as it used to. Notion is that the Store would manage how this size is done keeping account of
memstore content and outstanding segments and snapshot.

The region now does a flush if we hit the old flush threshold and will flush again when we hit the new high
threshold. But this doesn't see right, or it does not seem enough unless I am missing something -- not in
this patch nor in the patch originally attached to this issue. Don't we need to distingush the flush types?
Otherwise the high threshold gets ignored because low threshold has already been queued.

Minor stuff is that we pass in the size when we do requestFlushIfNeeded rather than go fetch it again from
the atomic (minor perf concernt).

Changed name of the RegionServiceProxy to be an Interface named RegionServicesForStore. I don't actually
use it in this patch because it is incomplete. Was going to just have Region implement it for now.

> 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, Regioncounters.pdf, suggestion.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)