You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Huaxiang Sun (Jira)" <ji...@apache.org> on 2021/01/14 17:51:00 UTC

[jira] [Resolved] (HBASE-25356) HBaseAdmin#getRegion() needs to filter out non-regionName and non-encodedRegionName

     [ https://issues.apache.org/jira/browse/HBASE-25356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Huaxiang Sun resolved HBASE-25356.
----------------------------------
    Fix Version/s: 2.4.1
                   2.5.0
                   2.3.4
       Resolution: Fixed

> HBaseAdmin#getRegion() needs to filter out non-regionName and non-encodedRegionName
> -----------------------------------------------------------------------------------
>
>                 Key: HBASE-25356
>                 URL: https://issues.apache.org/jira/browse/HBASE-25356
>             Project: HBase
>          Issue Type: Bug
>          Components: shell
>    Affects Versions: 2.3.3, 2.4.0
>            Reporter: Huaxiang Sun
>            Assignee: Huaxiang Sun
>            Priority: Major
>             Fix For: 2.3.4, 2.5.0, 2.4.1
>
>
> 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.



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