[ 
https://issues.apache.org/jira/browse/HBASE-19646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16305695#comment-16305695
 ] 

Elliott Clark commented on HBASE-19646:
---------------------------------------

{quote}This is not great if perhaps a SA wants to monitor the system during a 
major compaction{quote}
So that's the thing. There is no way for users to monitor the system during a 
major compaction because major compaction can (and does) happen for lots of 
different reasons other than just time based. Also major compactions even when 
triggered time based are queued and can be delayed for large amounts of time.

{quote} the docs recommend doing a manually triggered major compaction 
anyway.{quote}
The documentation is (in my opinion) incorrect, and we should fix that. The 
majority of users should not have to trigger a major compaction manually. It 
used to be the case that was true. We've put a good amount of effort into 
making the compaction rate limited, and non-disruptive enough that they can, 
and should be done automatically.

{quote}(Hey Elliott Clark!){quote}

/me waves

> Add CRON To Major Compaction
> ----------------------------
>
>                 Key: HBASE-19646
>                 URL: https://issues.apache.org/jira/browse/HBASE-19646
>             Project: HBase
>          Issue Type: Bug
>          Components: Compaction
>            Reporter: BELUGA BEHR
>            Priority: Minor
>
> HBase provides _hbase.hregion.majorcompaction_ 
> {quote}
> Time between major compactions, expressed in milliseconds. Set to 0 to 
> disable time-based automatic major compactions. User-requested and size-based 
> major compactions will still run. This value is multiplied by 
> hbase.hregion.majorcompaction.jitter to cause compaction to start at a 
> somewhat-random time during a given window of time. The default value is 7 
> days, expressed in milliseconds. If major compactions are causing disruption 
> in your environment, you can configure them to run at off-peak times for your 
> deployment, or disable time-based major compactions by setting this parameter 
> to 0, and run major compactions in a cron job or by another external 
> mechanism.
> {quote}
> Instead of this existing mechanism, that adds randomness into a production 
> system (ugh), let's simply allow users to specify a cron string and replace 
> this simple periodic (+jitter) scheduling mechanism.  CRON is useful for 
> systems that have known windows of time (i.e. weekend, nights) that are known 
> to be good times for compaction.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to