[
https://issues.apache.org/jira/browse/HBASE-29279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Junegunn Choi reassigned HBASE-29279:
-------------------------------------
Assignee: Junegunn Choi
> Allow throttling alter operation using 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
>
> 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)