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:20:34 UTC
[hbase] branch branch-2 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
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new ae3daa5 HBASE-25482 Improve SimpleRegionNormalizer#getAverageRegionSizeMb (#2858)
ae3daa5 is described below
commit ae3daa5c0b3f96e8c564739c6ff4f04028feaf9f
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 7add10f..006f8e7 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
@@ -273,16 +273,13 @@ class SimpleRegionNormalizer implements RegionNormalizer, ConfigurationObserver
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,
@@ -292,18 +289,22 @@ class SimpleRegionNormalizer implements RegionNormalizer, ConfigurationObserver
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;
}