From 71e01b3c82c6c3333429eb485e91d353d5a72bee Mon Sep 17 00:00:00 2001 From: Chia-Ping Tsai Date: Tue, 27 Feb 2018 23:16:28 +0800 Subject: [PATCH] HBASE-20098 Fix TestSplitTransactionOnCluster#testMasterRestartWhenSplittingIsPartial for branch-1.2 --- .../main/java/org/apache/hadoop/hbase/master/HMaster.java | 7 ++++++- .../hbase/regionserver/TestSplitTransactionOnCluster.java | 13 +++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java index 266c0fbf0a..845bd6d8e2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java @@ -813,7 +813,7 @@ public class HMaster extends HRegionServer implements MasterServices, Server { getChoreService().scheduleChore(balancerChore); this.normalizerChore = new RegionNormalizerChore(this); getChoreService().scheduleChore(normalizerChore); - this.catalogJanitorChore = new CatalogJanitor(this, this); + this.catalogJanitorChore = createCatalogJanitor(); getChoreService().scheduleChore(catalogJanitorChore); // Do Metrics periodically @@ -872,6 +872,11 @@ public class HMaster extends HRegionServer implements MasterServices, Server { zombieDetector.interrupt(); } + @VisibleForTesting + protected CatalogJanitor createCatalogJanitor() { + return new CatalogJanitor(this, this); + } + private void initQuotaManager() throws IOException { quotaManager = new MasterQuotaManager(this); this.assignmentManager.setRegionStateListener((RegionStateListener) quotaManager); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java index c70415e442..330d08bc2e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransactionOnCluster.java @@ -26,13 +26,13 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import com.google.protobuf.ServiceException; import java.io.IOException; import java.io.InterruptedIOException; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.concurrent.CountDownLatch; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; @@ -82,6 +82,7 @@ import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.exceptions.DeserializationException; import org.apache.hadoop.hbase.executor.EventType; import org.apache.hadoop.hbase.master.AssignmentManager; +import org.apache.hadoop.hbase.master.CatalogJanitor; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.master.RegionState; import org.apache.hadoop.hbase.master.RegionState.State; @@ -89,7 +90,6 @@ import org.apache.hadoop.hbase.master.RegionStates; import org.apache.hadoop.hbase.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext; import org.apache.hadoop.hbase.regionserver.compactions.NoLimitCompactionThroughputController; -import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; @@ -112,8 +112,6 @@ import org.junit.BeforeClass; import org.junit.Test; import org.junit.experimental.categories.Category; -import com.google.protobuf.ServiceException; - /** * Like TestSplitTransaction in that we're testing {@link SplitTransactionImpl} * only the below tests are against a running cluster where TestSplitTransaction @@ -1645,6 +1643,13 @@ public class TestSplitTransactionOnCluster { InterruptedException { super(conf, cp); } + + @Override + protected CatalogJanitor createCatalogJanitor() { + CatalogJanitor cj = super.createCatalogJanitor(); + cj.setEnabled(false); + return cj; + } } private static class SplittingNodeCreationFailedException extends IOException { -- 2.16.2.windows.1