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