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

Nick Dimiduk commented on HBASE-22285:
--------------------------------------

Hi [~mnpoonia], can you tell me why you need a new {{Normalizer}} 
implementation? I'm reviewing the code and I don't see the reason. Since this 
has not release on any branch yet, I would like to revert the change and 
instead apply some of your improvements to the existing 
{{SimpleRegionNormalizer}}. The main reason for this is that by adding a new 
class, we're making our public API bigger. Instead, I would like to make the 
API we have more usable in more situations.

The big features I see here are:
# allows for an operator to have the normalizer just run merge (no splits). As 
[~apurtell] proposed in initial discussion, I think we can add configuration 
that allows an operator to explicitly disable either the split or the merge 
{{Normalizer}} actions.
# specify a minimum region age as a prerequisite for it participating in a 
merge action. I think this is a nice feature that the 
{{SimpleRegionNormalizer}} should also share.

Please let me know if I missed any other functionality in my review. I'd like 
to tackle this before 2.3.0, so that we don't have to go through a deprecation 
cycle later on.

Thanks boss.

> A normalizer which merges very small size regions with adjacent 
> regions.(MergeToNormalize)
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-22285
>                 URL: https://issues.apache.org/jira/browse/HBASE-22285
>             Project: HBase
>          Issue Type: New Feature
>          Components: master
>            Reporter: Aman Poonia
>            Assignee: Aman Poonia
>            Priority: Minor
>             Fix For: 3.0.0-alpha-1, 2.3.0
>
>
> There are scenarios where we have seen around 5% of total regions with a size 
> of 0 bytes and another 5-6 % regions with size in a few bytes. These kinds of 
> regions increase with time considering we have TTL over the rows. 
> After exploring the option of RegionNormalizer and doing some quick runs we 
> found that that is not suitable considering it also splits the regions and 
> merges to normalize. What we really want is to split as per Split policy and 
> merge very small regions with adjacent regions to make sure we reduce 0-byte 
> regions.
> We can plugin this normalizer using the property 
> "hbase.master.normalizer.class"



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to