[ 
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 {{cleaner_chore_run}} was introduced in HBASE-17280, this patch added 
options 'hfiles' and 'oldwals' to it. Also fix default behavior of 
{{cleaner_chore_run}} will be only ran when cleaner chore is set to disabled, 
e.g. the proposed admin CLI options are
{noformat}
hbase> cleaner_chore_run               # this was introduced in HBASE-17280, 
but changed the behavior to only ran when cleaner chore is set to disabled

hbase> cleaner_chore_run 'hfiles'      # added, ran when cleaner chore is set 
to disabled
hbase> cleaner_chore_run 'oldwals'     # added, ran when cleaner chore is set 
to disabled
{noformat}

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


> Provide CLI option to run oldwals and hfiles cleaner separately when cleaner 
> chore is disabled
> ----------------------------------------------------------------------------------------------
>
>                 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 {{cleaner_chore_run}} was introduced in HBASE-17280, this patch 
> added options 'hfiles' and 'oldwals' to it. Also fix default behavior of 
> {{cleaner_chore_run}} will be only ran when cleaner chore is set to disabled, 
> e.g. the proposed admin CLI options are
> {noformat}
> hbase> cleaner_chore_run               # this was introduced in HBASE-17280, 
> but changed the behavior to only ran when cleaner chore is set to disabled
> hbase> cleaner_chore_run 'hfiles'      # added, ran when cleaner chore is set 
> to disabled
> hbase> cleaner_chore_run 'oldwals'     # added, ran when cleaner chore is set 
> to disabled
> {noformat}



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

Reply via email to