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)