Sid Khillon created HBASE-30529:
-----------------------------------

             Summary: Throttle the region reopen when a replication peer 
becomes serial
                 Key: HBASE-30529
                 URL: https://issues.apache.org/jira/browse/HBASE-30529
             Project: HBase
          Issue Type: Bug
          Components: proc-v2, Replication
    Affects Versions: 2.6.5, 3.0.0-beta-1, 2.6.0
            Reporter: Sid Khillon
            Assignee: Sid Khillon


When a replication peer is changed from non-serial to serial, 
ModifyPeerProcedure.reopenRegions reopens every region of the peer's tables 
with {{{}new ReopenTableRegionsProcedure(tn){}}}. That constructor turns off 
batching, so {{hbase.reopen.table.regions.progressive.batch.size.max}} and 
{{hbase.reopen.table.regions.progressive.batch.backoff.ms}} are ignored and 
every region of the table closes and reopens at the same time.

The same happens when a serial peer is added for tables that already have 
global replication scope.

Table alters (ModifyTableProcedure) and HMaster#reopenRegionsThrottled already 
use {{{}ReopenTableRegionsProcedure.throttled(conf, td){}}}. HBASE-29809 moved 
HMaster#reopenRegions and RegionsRecoveryChore to the throttled path and 
mentioned replication procedures, but did not change ModifyPeerProcedure.

*Example*
A table with 932 regions, batch size max 50 and backoff 1000ms:
 * An alter reopens it in 24 batches (1, 2, 4, 8, 16, 32, then 50 at a time).
 * Making its replication peer serial reopens all 932 regions in one batch.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to