ndimiduk commented on a change in pull request #1933: URL: https://github.com/apache/hbase/pull/1933#discussion_r443803523
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java ########## @@ -1957,17 +1959,27 @@ public boolean normalizeRegions() throws IOException { continue; } - // as of this writing, `plan.execute()` is non-blocking, so there's no artificial rate- - // limiting of merge requests due to this serial loop. + // as of this writing, `plan.submit()` is non-blocking and uses Async Admin APIs to + // submit task , so there's no artificial rate- + // limiting of merge/split requests due to this serial loop. for (NormalizationPlan plan : plans) { - plan.execute(admin); + Future<Void> future = plan.submit(admin); + submittedPlanList.add(future); if (plan.getType() == PlanType.SPLIT) { splitPlanCount++; } else if (plan.getType() == PlanType.MERGE) { mergePlanCount++; } } } + for (Future<?> submittedPlan : submittedPlanList) { + try { + submittedPlan.get(); + } catch (Exception e) { + normalizationPlanFailureCount++; Review comment: Maybe we don't actually want to log "plans succeeded". Maybe it's enough that we log "N plans submitted". I would be okay with that. Even better if the debug level could log the PIDs of the submitted plans, which, I believe, requires going through `MasterServices`. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org