From c0f1e1fc83540da0fe658b32b8c7bf0c624cdc62 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 --- .../org/apache/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 fc9712b3c1..0f38d51cfa 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 @@ -361,6 +361,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. @@ -581,6 +586,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); @@ -2039,8 +2046,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 -- 2.15.0