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

Huaxiang Sun updated HBASE-25356:
---------------------------------
    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.

  was:
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 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.


> 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: 1.6.0, 2.4.0
>            Reporter: Huaxiang Sun
>            Assignee: Huaxiang Sun
>            Priority: Major
>
> 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)

Reply via email to