Alex Hughes created HBASE-29809:
-----------------------------------

             Summary: Unify region reopening methods to use throttled 
implementation
                 Key: HBASE-29809
                 URL: https://issues.apache.org/jira/browse/HBASE-29809
             Project: HBase
          Issue Type: Improvement
          Components: master
    Affects Versions: 2.6.3
            Reporter: Alex Hughes


[HBASE-29782|https://issues.apache.org/jira/browse/HBASE-29782] adds the reopen 
regions API. Once this is merged (TBC) HMaster will have  two nearly identical 
methods for reopening regions that differ only in throttling behaviour: 
{{reopenRegions()}} and {{reopenRegionsThrottled()}} (TODO link to these once 
merged). The former creates a non-throttled {{ReopenTableRegionsProcedure}} 
while the latter uses {{ReopenTableRegionsProcedure.throttled()}} with 
configurable batch processing.

This duplication creates maintenance burden and leaves existing callers without 
throttling protection. {{RegionsRecoveryChore}} uses the non-throttled path 
when reopening regions with high {{{}storeFileRefCount{}}}, which could 
overwhelm the system during mass region recovery. Similarly, replication 
procedures lack throttling when reopening regions across many tables.

The throttling infrastructure already exists in {{ReopenTableRegionsProcedure}} 
with configurable batch size and backoff parameters. This ticket proposes 
updating {{reopenRegions()}} to use the throttled implementation, making 
throttling the default for all region reopening operations. The throttling can 
be disabled via configuration if needed 
({{{}hbase.reopen.table.regions.progressive.batch.size.max=-1{}}}), maintaining 
backward compatibility while providing protection against overwhelming the 
system.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to