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