HBASE-22596 [Chore] Separate the execution period between CompactionChecker and PeriodicMemStoreFlusher

Signed-off-by: Zach York <zyork@apache.org>
Signed-off-by: Xu Cang <xucang@apache.org>
This commit is contained in:
Reid Chan 2019-06-18 11:09:34 +08:00
parent 92ee197647
commit c7c6140396
1 changed files with 9 additions and 2 deletions

View File

@ -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.
@ -576,6 +581,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);
@ -2018,8 +2025,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