[
https://issues.apache.org/jira/browse/HBASE-29279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Junegunn Choi resolved HBASE-29279.
-----------------------------------
Resolution: Fixed
Pushed to the following branches:
* master
* branch-3
* branch-2
* branch-2.6
Thanks [~zhangduo] for review!
> Allow throttling alter operation via table configuration
> --------------------------------------------------------
>
> Key: HBASE-29279
> URL: https://issues.apache.org/jira/browse/HBASE-29279
> Project: HBase
> Issue Type: Improvement
> Reporter: Junegunn Choi
> Assignee: Junegunn Choi
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.7.0, 3.0.0-beta-2, 2.6.3
>
>
> h2. Problem
> HBASE-28215 introduced a mechanism to throttle region reopening during an
> alter operation. However, it relies on a global configuration parameter, so
> in order to change the throttling settings, you would have to deploy the new
> settings to the master server and restart it. This is not ideal because:
> 1. Your cluster may host tables with different service level objectives, each
> requiring different throttling policies.
> 2. You may want to tune throttling dynamically — for example, during off-peak
> hours — without repeatedly restarting the master server.
> h2. Suggestion
> Support table-specific configuration for throttling if provided.
> {code:java}
> # Use global defaults
> alter 't', { NAME => 'd', COMPRESSION => 'GZ' }
> # Apply custom throttling for this alter operation
> alter 't', { NAME => 'd', COMPRESSION => 'GZ' },
> {
> CONFIGURATION => {
> 'hbase.reopen.table.regions.progressive.batch.size.max' => 32,
> 'hbase.reopen.table.regions.progressive.batch.backoff.ms' => 500
> }
> }
> # Future alter operations on this table will reuse the throttling
> configuration
> alter 't', { NAME => 'd', COMPRESSION => 'GZ' }
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)