Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.3.0
-
None
Description
There are plenty of cases where empty regions can accumulate – incorrect guessing at split points, old data is automatically expiring off, &c. The normalizer stubbornly refuses to handle this case, despite this being an original feature it was intended to support (HBASE-6613).
Earlier discussion had concerns for a user pre-splitting a table and then the normalizer coming along and merging those splits away before they could be populated. Thus, right now, the default behavior via hbase.normalizer.merge.min_region_size.mb=1 is to not split any region that's so small. Later, we added hbase.normalizer.merge.min_region_age.days=3, which prevents us from merging any region too young. So there's plenty of nobs for an operator to customize their behavior.
But when I set hbase.normalizer.merge.min_region_size.mb=0, I still end up with stubborn regions that won't merge away. Looks like a large neighbor will prevent a merge from going through.