[
https://issues.apache.org/jira/browse/HBASE-14838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15014829#comment-15014829
]
Mikhail Antonov commented on HBASE-14838:
-----------------------------------------
bq. In this contrived case, we had only written a small amount of data to one
of the regions (<1MB). I've yet to investigate why the greater-than-zero amount
of data in one region was ultimately treated as no data (confirmed via a remote
debugger attached to the master).
Because code which calculates region size in region normalizer uses metrics
(ServerLoad/RegionLoad based), where region size (aggregated store file size)
is represented is MB and is floored (truncated) down. If you got say 80kb worth
of data, normalizer thingk its zero. That's the reason why minicluster tests
for this feature are generating more than 1mb of data per region. I remember
looking for some convenient method which would report exact size (like, hm,
Region#size()), but haven't found anything suitable.
> SimpleRegionNormalizer does not merge empty region of a table
> -------------------------------------------------------------
>
> Key: HBASE-14838
> URL: https://issues.apache.org/jira/browse/HBASE-14838
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.2.0
> Reporter: Romil Choksi
>
> SImpleRegionNormalizer does not merge empty region of a table
> Steps to repro:
> - Create an empty table with few, say 5-6 regions without any data in any of
> them
> - Verify hbase:meta table to verify the regions for the table or check
> HMaster UI
> - Enable normalizer switch and normalization for this table
> - Run normalizer, by 'normalize' command from hbase shell
> - Verify the regions for table by scanning hbase:meta table or checking
> HMaster web UI
> The empty regions are not merged on running the region normalizer. This seems
> to be an edge case with completely empty regions since the Normalizer checks
> for: smallestRegion (in this case 0 size) + smallestNeighborOfSmallestRegion
> (in this case 0 size) > avg region size (in this case 0 size)
> thanks to [~elserj] for verifying this from the source code side
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)