Description
I was running shell command to major compact meta table. The implementation is wrong because it tries to search the meta table with meta table name. This also results in an unnecessary scan of meta table.
majorCompactRegion() is calling HBaseAdmin#getRegion() which basically scan meta table itself.
This command is being used by operator quite often, we need to correct it.
This applies to split/flush command as well, which calls getRegion() with tableName as an input.
The solution is that getRegion() needs to filter out non-regionName and non-encodedRegionName, this will save a query of meta table and a heavy scan of meta table. If meta table size is large, the overhead is huge.