Apache9 commented on code in PR #5170:
URL: https://github.com/apache/hbase/pull/5170#discussion_r1164230992
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java:
##########
@@ -246,23 +251,35 @@ public List<NormalizationPlan> computePlansForTable(final
TableDescriptor tableD
/** Returns size of region in MB and if region is not found than -1 */
private long getRegionSizeMB(RegionInfo hri) {
+ RegionMetrics regionLoad = getRegionMetrics(hri);
+ if (regionLoad == null) return -1;
+ return (long) regionLoad.getStoreFileSize().get(Size.Unit.MEGABYTE);
+ }
+
+ private RegionMetrics getRegionMetrics(RegionInfo hri) {
ServerName sn =
masterServices.getAssignmentManager().getRegionStates().getRegionServerOfRegion(hri);
if (sn == null) {
LOG.debug("{} region was not found on any Server",
hri.getRegionNameAsString());
- return -1;
+ return null;
}
ServerMetrics serverMetrics =
masterServices.getServerManager().getLoad(sn);
if (serverMetrics == null) {
LOG.debug("server {} was not found in ServerManager",
sn.getServerName());
- return -1;
+ return null;
}
RegionMetrics regionLoad =
serverMetrics.getRegionMetrics().get(hri.getRegionName());
if (regionLoad == null) {
LOG.debug("{} was not found in RegionsLoad",
hri.getRegionNameAsString());
- return -1;
+ return null;
}
- return (long) regionLoad.getStoreFileSize().get(Size.Unit.MEGABYTE);
+ return regionLoad;
+ }
+
+ private long getStoreFileCount(RegionInfo hri) {
+ RegionMetrics regionLoad = getRegionMetrics(hri);
+ if (regionLoad == null) return 0;
Review Comment:
Ditto.
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java:
##########
@@ -474,6 +494,11 @@ private boolean isLargeEnoughForMerge(final
NormalizerConfiguration normalizerCo
return getRegionSizeMB(regionInfo) >=
normalizerConfiguration.getMergeMinRegionSizeMb(ctx);
}
+ private boolean isPresplitEmptyRegion(final NormalizerConfiguration
normalizerConfiguration,
+ final NormalizeContext ctx, final RegionInfo regionInfo) {
+ return getStoreFileCount(regionInfo) == 0 &&
Review Comment:
Why getStoreFileCount == 0 means this is a pre split region?
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.java:
##########
@@ -246,23 +251,35 @@ public List<NormalizationPlan> computePlansForTable(final
TableDescriptor tableD
/** Returns size of region in MB and if region is not found than -1 */
private long getRegionSizeMB(RegionInfo hri) {
+ RegionMetrics regionLoad = getRegionMetrics(hri);
+ if (regionLoad == null) return -1;
Review Comment:
This will generate a checkstyle warning? Please use {} to wrap the block.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]