From ff8e68a97c59ee8c3f936be74e9c46a555e8c549 Mon Sep 17 00:00:00 2001 From: Guanghao Zhang Date: Mon, 25 Dec 2017 11:44:18 +0800 Subject: [PATCH] HBASE-19618 Remove replicationQueuesClient.class/replicationQueues.class config from ReplicationFactory --- .../hadoop/hbase/replication/ReplicationFactory.java | 17 ++++++----------- .../java/org/apache/hadoop/hbase/master/HMaster.java | 15 ++++++--------- .../hbase/replication/TestMultiSlaveReplication.java | 2 -- .../replication/TestReplicationStateHBaseImpl.java | 6 ++---- .../hbase/replication/TestReplicationTableBase.java | 7 ++----- .../TestTableBasedReplicationSourceManagerImpl.java | 10 ++-------- 6 files changed, 18 insertions(+), 39 deletions(-) diff --git a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationFactory.java b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationFactory.java index 3ff6914..9f4ad18 100644 --- a/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationFactory.java +++ b/hbase-replication/src/main/java/org/apache/hadoop/hbase/replication/ReplicationFactory.java @@ -31,21 +31,16 @@ import org.apache.hadoop.hbase.zookeeper.ZKWatcher; @InterfaceAudience.Private public class ReplicationFactory { - public static final Class defaultReplicationQueueClass = ReplicationQueuesZKImpl.class; - public static ReplicationQueues getReplicationQueues(ReplicationQueuesArguments args) throws Exception { - Class classToBuild = args.getConf().getClass("hbase.region.replica." + - "replication.replicationQueues.class", defaultReplicationQueueClass); - return (ReplicationQueues) ConstructorUtils.invokeConstructor(classToBuild, args); + return (ReplicationQueues) ConstructorUtils.invokeConstructor(ReplicationQueuesZKImpl.class, + args); } - public static ReplicationQueuesClient getReplicationQueuesClient( - ReplicationQueuesClientArguments args) throws Exception { - Class classToBuild = args.getConf().getClass( - "hbase.region.replica.replication.replicationQueuesClient.class", - ReplicationQueuesClientZKImpl.class); - return (ReplicationQueuesClient) ConstructorUtils.invokeConstructor(classToBuild, args); + public static ReplicationQueuesClient + getReplicationQueuesClient(ReplicationQueuesClientArguments args) throws Exception { + return (ReplicationQueuesClient) ConstructorUtils + .invokeConstructor(ReplicationQueuesClientZKImpl.class, args); } public static ReplicationPeers getReplicationPeers(final ZKWatcher zk, Configuration conf, 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 cf95030..93feabd 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 @@ -1148,15 +1148,12 @@ public class HMaster extends HRegionServer implements MasterServices { } // Start replication zk node cleaner - if (conf.getClass("hbase.region.replica.replication.replicationQueues.class", - ReplicationFactory.defaultReplicationQueueClass) == ReplicationQueuesZKImpl.class) { - try { - replicationZKNodeCleanerChore = new ReplicationZKNodeCleanerChore(this, cleanerInterval, - new ReplicationZKNodeCleaner(this.conf, this.getZooKeeper(), this)); - getChoreService().scheduleChore(replicationZKNodeCleanerChore); - } catch (Exception e) { - LOG.error("start replicationZKNodeCleanerChore failed", e); - } + try { + replicationZKNodeCleanerChore = new ReplicationZKNodeCleanerChore(this, cleanerInterval, + new ReplicationZKNodeCleaner(this.conf, this.getZooKeeper(), this)); + getChoreService().scheduleChore(replicationZKNodeCleanerChore); + } catch (Exception e) { + LOG.error("start replicationZKNodeCleanerChore failed", e); } replicationMetaCleaner = new ReplicationMetaCleaner(this, this, cleanerInterval); getChoreService().scheduleChore(replicationMetaCleaner); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java index 9da0745..c57d9bb 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java @@ -94,8 +94,6 @@ public class TestMultiSlaveReplication { conf1.setStrings(CoprocessorHost.USER_REGION_COPROCESSOR_CONF_KEY, "org.apache.hadoop.hbase.replication.TestMasterReplication$CoprocessorCounter"); conf1.setInt("hbase.master.cleaner.interval", 5 * 1000); - conf1.setClass("hbase.region.replica.replication.replicationQueues.class", - ReplicationQueuesZKImpl.class, ReplicationQueues.class); utility1 = new HBaseTestingUtility(conf1); utility1.startMiniZKCluster(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java index 1ef525f..4c0836b 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStateHBaseImpl.java @@ -39,6 +39,7 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.Before; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -51,6 +52,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; @Category({ReplicationTests.class, MediumTests.class}) +@Ignore public class TestReplicationStateHBaseImpl { private static Configuration conf; @@ -83,10 +85,6 @@ public class TestReplicationStateHBaseImpl { public static void setUpBeforeClass() throws Exception { utility = new HBaseTestingUtility(); conf = utility.getConfiguration(); - conf.setClass("hbase.region.replica.replication.replicationQueues.class", - TableBasedReplicationQueuesImpl.class, ReplicationQueues.class); - conf.setClass("hbase.region.replica.replication.replicationQueuesClient.class", - TableBasedReplicationQueuesClientImpl.class, ReplicationQueuesClient.class); utility.startMiniCluster(); zkw = HBaseTestingUtility.getZooKeeperWatcher(utility); String replicationZNodeName = conf.get("zookeeper.znode.replication", "replication"); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTableBase.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTableBase.java index 665eedb..6133f07 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTableBase.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationTableBase.java @@ -24,12 +24,12 @@ import org.apache.hadoop.hbase.Waiter; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.apache.hadoop.hbase.zookeeper.ZKWatcher; +import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.categories.Category; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; /** @@ -37,6 +37,7 @@ import static org.junit.Assert.assertTrue; * should be non-blocking, but any method calls that access the table should be blocking. */ @Category({ReplicationTests.class, MediumTests.class}) +@Ignore public class TestReplicationTableBase { private static long SLEEP_MILLIS = 5000; @@ -54,10 +55,6 @@ public class TestReplicationTableBase { utility = new HBaseTestingUtility(); utility.startMiniZKCluster(); conf = utility.getConfiguration(); - conf.setClass("hbase.region.replica.replication.replicationQueues.class", - TableBasedReplicationQueuesImpl.class, ReplicationQueues.class); - conf.setClass("hbase.region.replica.replication.replicationQueuesClient.class", - TableBasedReplicationQueuesClientImpl.class, ReplicationQueuesClient.class); zkw = HBaseTestingUtility.getZooKeeperWatcher(utility); utility.waitFor(0, TIME_OUT_MILLIS, new Waiter.ExplainingPredicate() { @Override diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestTableBasedReplicationSourceManagerImpl.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestTableBasedReplicationSourceManagerImpl.java index 19457e2..f4870f5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestTableBasedReplicationSourceManagerImpl.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestTableBasedReplicationSourceManagerImpl.java @@ -23,14 +23,11 @@ import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.NamespaceDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.Waiter; -import org.apache.hadoop.hbase.replication.ReplicationQueues; -import org.apache.hadoop.hbase.replication.ReplicationQueuesClient; import org.apache.hadoop.hbase.replication.ReplicationSourceDummy; -import org.apache.hadoop.hbase.replication.TableBasedReplicationQueuesClientImpl; -import org.apache.hadoop.hbase.replication.TableBasedReplicationQueuesImpl; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.testclassification.ReplicationTests; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.experimental.categories.Category; /** @@ -38,6 +35,7 @@ import org.junit.experimental.categories.Category; * TableBasedReplicationQueuesClient */ @Category({ReplicationTests.class, MediumTests.class}) +@Ignore public class TestTableBasedReplicationSourceManagerImpl extends TestReplicationSourceManager { @BeforeClass public static void setUpBeforeClass() throws Exception { @@ -47,10 +45,6 @@ public class TestTableBasedReplicationSourceManagerImpl extends TestReplicationS conf.setLong("replication.sleep.before.failover", 2000); conf.setInt("replication.source.maxretriesmultiplier", 10); - conf.setClass("hbase.region.replica.replication.replicationQueues.class", - TableBasedReplicationQueuesImpl.class, ReplicationQueues.class); - conf.setClass("hbase.region.replica.replication.replicationQueuesClient.class", - TableBasedReplicationQueuesClientImpl.class, ReplicationQueuesClient.class); utility = new HBaseTestingUtility(conf); utility.startMiniCluster(); Waiter.waitFor(conf, 3 * 1000, -- 1.9.1