HBASE-13803 - Disable the MobCompactionChore when the interval is not
larger than 0 (Jingcheng Du)
This commit is contained in:
parent
b5641d8edf
commit
7693e15b2b
|
@ -103,6 +103,7 @@ import org.apache.hadoop.hbase.master.procedure.ProcedurePrepareLatch;
|
|||
import org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait;
|
||||
import org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure;
|
||||
import org.apache.hadoop.hbase.master.snapshot.SnapshotManager;
|
||||
import org.apache.hadoop.hbase.mob.MobConstants;
|
||||
import org.apache.hadoop.hbase.monitoring.MemoryBoundedLogMessageBuffer;
|
||||
import org.apache.hadoop.hbase.monitoring.MonitoredTask;
|
||||
import org.apache.hadoop.hbase.monitoring.TaskMonitor;
|
||||
|
@ -795,8 +796,15 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
|
|||
this.expiredMobFileCleanerChore = new ExpiredMobFileCleanerChore(this);
|
||||
getChoreService().scheduleChore(expiredMobFileCleanerChore);
|
||||
|
||||
this.mobCompactChore = new MobCompactionChore(this);
|
||||
getChoreService().scheduleChore(mobCompactChore);
|
||||
int mobCompactionPeriod = conf.getInt(MobConstants.MOB_COMPACTION_CHORE_PERIOD,
|
||||
MobConstants.DEFAULT_MOB_COMPACTION_CHORE_PERIOD);
|
||||
if (mobCompactionPeriod > 0) {
|
||||
this.mobCompactChore = new MobCompactionChore(this, mobCompactionPeriod);
|
||||
getChoreService().scheduleChore(mobCompactChore);
|
||||
} else {
|
||||
LOG
|
||||
.info("The period is " + mobCompactionPeriod + " seconds, MobCompactionChore is disabled");
|
||||
}
|
||||
this.mobCompactThread = new MasterMobCompactionThread(this);
|
||||
|
||||
if (this.cpHost != null) {
|
||||
|
|
|
@ -25,12 +25,11 @@ import java.util.concurrent.TimeUnit;
|
|||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.classification.InterfaceAudience;
|
||||
import org.apache.hadoop.hbase.ScheduledChore;
|
||||
import org.apache.hadoop.hbase.HColumnDescriptor;
|
||||
import org.apache.hadoop.hbase.HTableDescriptor;
|
||||
import org.apache.hadoop.hbase.ScheduledChore;
|
||||
import org.apache.hadoop.hbase.TableDescriptors;
|
||||
import org.apache.hadoop.hbase.client.TableState;
|
||||
import org.apache.hadoop.hbase.mob.MobConstants;
|
||||
import org.apache.hadoop.hbase.mob.MobUtils;
|
||||
|
||||
/**
|
||||
|
@ -44,12 +43,9 @@ public class MobCompactionChore extends ScheduledChore {
|
|||
private TableLockManager tableLockManager;
|
||||
private ExecutorService pool;
|
||||
|
||||
public MobCompactionChore(HMaster master) {
|
||||
super(master.getServerName() + "-MobCompactionChore", master, master.getConfiguration()
|
||||
.getInt(MobConstants.MOB_COMPACTION_CHORE_PERIOD,
|
||||
MobConstants.DEFAULT_MOB_COMPACTION_CHORE_PERIOD), master.getConfiguration().getInt(
|
||||
MobConstants.MOB_COMPACTION_CHORE_PERIOD,
|
||||
MobConstants.DEFAULT_MOB_COMPACTION_CHORE_PERIOD), TimeUnit.SECONDS);
|
||||
public MobCompactionChore(HMaster master, int period) {
|
||||
// use the period as initial delay.
|
||||
super(master.getServerName() + "-MobCompactionChore", master, period, period, TimeUnit.SECONDS);
|
||||
this.master = master;
|
||||
this.tableLockManager = master.getTableLockManager();
|
||||
this.pool = MobUtils.createMobCompactorThreadPool(master.getConfiguration());
|
||||
|
|
Loading…
Reference in New Issue