From 30d0c3fdde39a351912af8484fe48035f4cd9189 Mon Sep 17 00:00:00 2001 From: ckulkarni Date: Tue, 11 Apr 2017 14:32:55 -0700 Subject: [PATCH] HBASE-12870 "Major compaction triggered" and "Skipping major compaction" messages lack the region information Signed-off-by: Andrew Purtell --- .../compactions/RatioBasedCompactionPolicy.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java index a3e10f8165d..ddc07cddd77 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java @@ -28,6 +28,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.classification.InterfaceAudience; +import org.apache.hadoop.hbase.regionserver.HStore; import org.apache.hadoop.hbase.regionserver.RSRpcServices; import org.apache.hadoop.hbase.regionserver.StoreConfigInformation; import org.apache.hadoop.hbase.regionserver.StoreFile; @@ -64,6 +65,12 @@ public class RatioBasedCompactionPolicy extends SortedCompactionPolicy { long lowTimestamp = StoreUtils.getLowestTimestamp(filesToCompact); long now = EnvironmentEdgeManager.currentTime(); if (lowTimestamp > 0L && lowTimestamp < (now - mcTime)) { + String regionInfo; + if (this.storeConfigInfo != null && this.storeConfigInfo instanceof HStore) { + regionInfo = ((HStore)this.storeConfigInfo).getRegionInfo().getRegionNameAsString(); + } else { + regionInfo = this.toString(); + } // Major compaction time has elapsed. long cfTTL = this.storeConfigInfo.getStoreFileTtl(); if (filesToCompact.size() == 1) { @@ -76,24 +83,24 @@ public class RatioBasedCompactionPolicy extends SortedCompactionPolicy { sf.getHDFSBlockDistribution().getBlockLocalityIndex( RSRpcServices.getHostname(comConf.conf, false)); if (blockLocalityIndex < comConf.getMinLocalityToForceCompact()) { - LOG.debug("Major compaction triggered on only store " + this + LOG.debug("Major compaction triggered on only store " + regionInfo + "; to make hdfs blocks local, current blockLocalityIndex is " + blockLocalityIndex + " (min " + comConf.getMinLocalityToForceCompact() + ")"); result = true; } else { - LOG.debug("Skipping major compaction of " + this + LOG.debug("Skipping major compaction of " + regionInfo + " because one (major) compacted file only, oldestTime " + oldest + "ms is < TTL=" + cfTTL + " and blockLocalityIndex is " + blockLocalityIndex + " (min " + comConf.getMinLocalityToForceCompact() + ")"); } } else if (cfTTL != HConstants.FOREVER && oldest > cfTTL) { - LOG.debug("Major compaction triggered on store " + this + LOG.debug("Major compaction triggered on store " + regionInfo + ", because keyvalues outdated; time since last major compaction " + (now - lowTimestamp) + "ms"); result = true; } } else { - LOG.debug("Major compaction triggered on store " + this + LOG.debug("Major compaction triggered on store " + regionInfo + "; time since last major compaction " + (now - lowTimestamp) + "ms"); } result = true;