You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nd...@apache.org on 2021/04/12 22:21:05 UTC
[hbase] branch branch-2.3 updated: HBASE-25482 Improve
SimpleRegionNormalizer#getAverageRegionSizeMb (#2858)
This is an automated email from the ASF dual-hosted git repository.
ndimiduk pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.3 by this push:
new 0f9b944 HBASE-25482 Improve SimpleRegionNormalizer#getAverageRegionSizeMb (#2858)
0f9b944 is described below
commit 0f9b944e9053bdd1b12542ea60f4172aaa7f0772
Author: Baiqiang Zhao <zb...@gmail.com>
AuthorDate: Wed Jan 20 03:09:50 2021 +0800
HBASE-25482 Improve SimpleRegionNormalizer#getAverageRegionSizeMb (#2858)
Signed-off-by: Nick Dimiduk <nd...@apache.org>
---
.../master/normalizer/SimpleRegionNormalizer.java | 25 +++++++++++-----------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
index 563e4c9..f4e4889 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java
@@ -304,16 +304,13 @@ public class SimpleRegionNormalizer implements RegionNormalizer {
throw new IllegalStateException(
"Cannot calculate average size of a table without any regions.");
}
- final int regionCount = tableRegions.size();
- final long totalSizeMb = tableRegions.stream()
- .mapToLong(this::getRegionSizeMB)
- .sum();
TableName table = tableRegions.get(0).getTable();
int targetRegionCount = -1;
long targetRegionSize = -1;
+ double avgRegionSize;
try {
TableDescriptor tableDescriptor = masterServices.getTableDescriptors().get(table);
- if (tableDescriptor != null && LOG.isDebugEnabled()) {
+ if (tableDescriptor != null) {
targetRegionCount = tableDescriptor.getNormalizerTargetRegionCount();
targetRegionSize = tableDescriptor.getNormalizerTargetRegionSize();
LOG.debug("Table {} configured with target region count {}, target region size {}", table,
@@ -323,18 +320,22 @@ public class SimpleRegionNormalizer implements RegionNormalizer {
LOG.warn("TableDescriptor for {} unavailable, table-level target region count and size"
+ " configurations cannot be considered.", table, e);
}
-
- double avgRegionSize;
if (targetRegionSize > 0) {
avgRegionSize = targetRegionSize;
- } else if (targetRegionCount > 0) {
- avgRegionSize = totalSizeMb / (double) targetRegionCount;
} else {
- avgRegionSize = totalSizeMb / (double) regionCount;
+ final int regionCount = tableRegions.size();
+ final long totalSizeMb = tableRegions.stream()
+ .mapToLong(this::getRegionSizeMB)
+ .sum();
+ if (targetRegionCount > 0) {
+ avgRegionSize = totalSizeMb / (double) targetRegionCount;
+ } else {
+ avgRegionSize = totalSizeMb / (double) regionCount;
+ }
+ LOG.debug("Table {}, total aggregated regions size: {} and average region size {}", table,
+ totalSizeMb, avgRegionSize);
}
- LOG.debug("Table {}, total aggregated regions size: {} and average region size {}", table,
- totalSizeMb, avgRegionSize);
return avgRegionSize;
}