[ 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)