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

Tak Lon (Stephen) Wu updated HBASE-21011:
-----------------------------------------
    Description: 
There is a corner case when cleaner chore for HFiles and oldwals is disabled, 
admin/user needs to manually execute admin command {{cleaner_chore_run}} to 
clean the old HFiles and oldwals. Existing logic of {{cleaner_chore_run}} is to 
[firstly trigger the HFiles cleaner and then oldwals 
cleaner|https://github.com/taklwu/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java#L1414-L1420],
 and only return succeed if both completes. 

but when running this {{cleaner_chore_run}} command, there is a potential use 
case that admin would like trigger the cleaner for only oldwals or hfiles but 
still keep the automatic cleaner chore disabled. So, this change aims to 
provide support for this corner case, and provide flexibility for those user 
with cleaner chore disabled by default to execute admin CLI to run oldwals and 
HFiles cleaning procedure individually.

NOTE that we keep the default as running both of them for backward 
compatibility, e.g. the proposed admin CLI options are
{noformat}
hbase> cleaner_chore_run
hbase> cleaner_chore_run 'hfiles'
hbase> cleaner_chore_run 'oldwals'
{noformat}

  was:
Existing logic of cleaner chore is first execute HFiles cleaner and then 
oldwals cleaner in a request, and only return succeed if both completes. 

There is a use case of running only oldwals cleaner because oldwals uses all 
the disk space, and running HFiles cleaner is too slow because either the 
amount of old HFiles or directories are too much. So, this change provide the 
flexibility for those disabled cleaner by default or would like to execute 
admin command to run oldwals and HFiles cleaning procedure individually.

NOTE that we keep the default as running both of them for backward 
compatibility, e.g. the proposed admin CLI options are
{noformat}
hbase> cleaner_chore_run
hbase> cleaner_chore_run 'hfiles'
hbase> cleaner_chore_run 'oldwals'
{noformat}


> Provide CLI option to run oldwals and hfiles cleaner separately
> ---------------------------------------------------------------
>
>                 Key: HBASE-21011
>                 URL: https://issues.apache.org/jira/browse/HBASE-21011
>             Project: HBase
>          Issue Type: Improvement
>          Components: Admin, Client
>    Affects Versions: 3.0.0, 1.4.6, 2.1.1
>            Reporter: Tak Lon (Stephen) Wu
>            Assignee: Tak Lon (Stephen) Wu
>            Priority: Minor
>             Fix For: 3.0.0
>
>
> There is a corner case when cleaner chore for HFiles and oldwals is disabled, 
> admin/user needs to manually execute admin command {{cleaner_chore_run}} to 
> clean the old HFiles and oldwals. Existing logic of {{cleaner_chore_run}} is 
> to [firstly trigger the HFiles cleaner and then oldwals 
> cleaner|https://github.com/taklwu/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java#L1414-L1420],
>  and only return succeed if both completes. 
> but when running this {{cleaner_chore_run}} command, there is a potential use 
> case that admin would like trigger the cleaner for only oldwals or hfiles but 
> still keep the automatic cleaner chore disabled. So, this change aims to 
> provide support for this corner case, and provide flexibility for those user 
> with cleaner chore disabled by default to execute admin CLI to run oldwals 
> and HFiles cleaning procedure individually.
> NOTE that we keep the default as running both of them for backward 
> compatibility, e.g. the proposed admin CLI options are
> {noformat}
> hbase> cleaner_chore_run
> hbase> cleaner_chore_run 'hfiles'
> hbase> cleaner_chore_run 'oldwals'
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to