Junegunn Choi created HBASE-29279:
-------------------------------------

             Summary: 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


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)

Reply via email to