From d30a7ca75804129486d6236d26e228e33e226baa Mon Sep 17 00:00:00 2001 From: Reid Chan Date: Tue, 18 Jun 2019 11:09:34 +0800 Subject: [PATCH] HBASE-22596 [Chore] Separate the execution period between CompactionChecker and PeriodicMemStoreFlusher Signed-off-by: Zach York Signed-off-by: Xu Cang --- .../hadoop/hbase/regionserver/HRegionServer.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index cd94c788754..786ff110ffb 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -357,6 +357,11 @@ public class HRegionServer extends HasThread implements protected final int threadWakeFrequency; protected final int msgInterval; + private static final String PERIOD_COMPACTION = "hbase.regionserver.compaction.check.period"; + private final int compactionCheckFrequency; + private static final String PERIOD_FLUSH = "hbase.regionserver.flush.check.period"; + private final int flushCheckFrequency; + protected final int numRegionsToReport; // Stub to do region server status calls against the master. @@ -577,6 +582,8 @@ public class HRegionServer extends HasThread implements this.numRetries = this.conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER); this.threadWakeFrequency = conf.getInt(HConstants.THREAD_WAKE_FREQUENCY, 10 * 1000); + this.compactionCheckFrequency = conf.getInt(PERIOD_COMPACTION, this.threadWakeFrequency); + this.flushCheckFrequency = conf.getInt(PERIOD_FLUSH, this.threadWakeFrequency); this.msgInterval = conf.getInt("hbase.regionserver.msginterval", 3 * 1000); this.sleeper = new Sleeper(this.msgInterval, this); @@ -2010,8 +2017,8 @@ public class HRegionServer extends HasThread implements // Background thread to check for compactions; needed if region has not gotten updates // in a while. It will take care of not checking too frequently on store-by-store basis. - this.compactionChecker = new CompactionChecker(this, this.threadWakeFrequency, this); - this.periodicFlusher = new PeriodicMemStoreFlusher(this.threadWakeFrequency, this); + this.compactionChecker = new CompactionChecker(this, this.compactionCheckFrequency, this); + this.periodicFlusher = new PeriodicMemStoreFlusher(this.flushCheckFrequency, this); this.leases = new Leases(this.threadWakeFrequency); // Create the thread to clean the moved regions list