You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2019/02/28 09:46:28 UTC
[hbase] branch master updated: HBASE-21967 Split
TestServerCrashProcedure and TestServerCrashProcedureWithReplicas
This is an automated email from the ASF dual-hosted git repository.
zghao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new c4f5d3c HBASE-21967 Split TestServerCrashProcedure and TestServerCrashProcedureWithReplicas
c4f5d3c is described below
commit c4f5d3c50810c9c5352ad35fbab6de14f7d21eae
Author: Guanghao Zhang <zg...@apache.org>
AuthorDate: Wed Feb 27 17:47:47 2019 +0800
HBASE-21967 Split TestServerCrashProcedure and TestServerCrashProcedureWithReplicas
---
...{TestServerCrashProcedure.java => TestSCP.java} | 43 +++-------------------
...eWithReplicas.java => TestSCPWithReplicas.java} | 8 ++--
.../TestSCPWithReplicasWithoutZKCoordinated.java | 40 ++++++++++++++++++++
.../procedure/TestSCPWithoutZKCoordinated.java | 40 ++++++++++++++++++++
4 files changed, 90 insertions(+), 41 deletions(-)
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCP.java
similarity index 86%
rename from hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
rename to hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCP.java
index 6751eaf..b3fbefc 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedure.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCP.java
@@ -21,8 +21,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseClassTestRule;
@@ -37,7 +35,6 @@ import org.apache.hadoop.hbase.master.HMaster;
import org.apache.hadoop.hbase.master.assignment.AssignmentTestingUtil;
import org.apache.hadoop.hbase.procedure2.Procedure;
import org.apache.hadoop.hbase.procedure2.ProcedureExecutor;
-import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
import org.apache.hadoop.hbase.procedure2.ProcedureTestingUtility;
import org.apache.hadoop.hbase.testclassification.LargeTests;
import org.apache.hadoop.hbase.testclassification.MasterTests;
@@ -46,40 +43,27 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@RunWith(Parameterized.class)
@Category({MasterTests.class, LargeTests.class})
-public class TestServerCrashProcedure {
+public class TestSCP {
@ClassRule
- public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestServerCrashProcedure.class);
+ public static final HBaseClassTestRule CLASS_RULE = HBaseClassTestRule.forClass(TestSCP.class);
- private static final Logger LOG = LoggerFactory.getLogger(TestServerCrashProcedure.class);
+ private static final Logger LOG = LoggerFactory.getLogger(TestSCP.class);
protected HBaseTestingUtility util;
- @Parameter
- public boolean splitWALCoordinatedByZK;
-
- private ProcedureMetrics serverCrashProcMetrics;
- private long serverCrashSubmittedCount = 0;
- private long serverCrashFailedCount = 0;
-
- private void setupConf(Configuration conf) {
+ protected void setupConf(Configuration conf) {
conf.setInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, 1);
conf.set("hbase.balancer.tablesOnMaster", "none");
conf.setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 3);
conf.setInt(HConstants.HBASE_CLIENT_SERVERSIDE_RETRIES_MULTIPLIER, 3);
conf.setBoolean("hbase.split.writer.creation.bounded", true);
conf.setInt("hbase.regionserver.hlog.splitlog.writer.threads", 8);
- LOG.info("WAL splitting coordinated by zk? {}", splitWALCoordinatedByZK);
- conf.setBoolean(HConstants.HBASE_SPLIT_WAL_COORDINATED_BY_ZK, splitWALCoordinatedByZK);
+ conf.setBoolean(HConstants.HBASE_SPLIT_WAL_COORDINATED_BY_ZK, true);
}
@Before
@@ -89,8 +73,6 @@ public class TestServerCrashProcedure {
startMiniCluster();
ProcedureTestingUtility.setKillAndToggleBeforeStoreUpdate(
this.util.getHBaseCluster().getMaster().getMasterProcedureExecutor(), false);
- serverCrashProcMetrics = this.util.getHBaseCluster().getMaster().getMasterMetrics()
- .getServerCrashProcMetrics();
}
protected void startMiniCluster() throws Exception {
@@ -178,16 +160,13 @@ public class TestServerCrashProcedure {
assertReplicaDistributed(t);
assertEquals(count, util.countRows(t));
assertEquals(checksum, util.checksumRows(t));
- } catch (Throwable throwable) {
- LOG.error("Test failed!", throwable);
- throw throwable;
}
}
@Test
public void testConcurrentSCPForSameServer() throws Exception {
final TableName tableName =
- TableName.valueOf("testConcurrentSCPForSameServer-" + splitWALCoordinatedByZK);
+ TableName.valueOf("testConcurrentSCPForSameServer");
try (Table t = createTable(tableName)) {
// Load the table with a bit of data so some logs to split and some edits in each region.
this.util.loadTable(t, HBaseTestingUtility.COLUMNS[0]);
@@ -231,14 +210,4 @@ public class TestServerCrashProcedure {
HBaseTestingUtility.KEYS_FOR_HBA_CREATE_TABLE);
return t;
}
-
- private void collectMasterMetrics() {
- serverCrashSubmittedCount = serverCrashProcMetrics.getSubmittedCounter().getCount();
- serverCrashFailedCount = serverCrashProcMetrics.getFailedCounter().getCount();
- }
-
- @Parameterized.Parameters
- public static Collection coordinatedByZK() {
- return Arrays.asList(false, true);
- }
}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedureWithReplicas.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicas.java
similarity index 92%
rename from hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedureWithReplicas.java
rename to hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicas.java
index 08446b4..522e820 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestServerCrashProcedureWithReplicas.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicas.java
@@ -32,13 +32,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Category({ MasterTests.class, LargeTests.class })
-public class TestServerCrashProcedureWithReplicas extends TestServerCrashProcedure {
+public class TestSCPWithReplicas extends TestSCP {
@ClassRule
public static final HBaseClassTestRule CLASS_RULE =
- HBaseClassTestRule.forClass(TestServerCrashProcedureWithReplicas.class);
- private static final Logger LOG =
- LoggerFactory.getLogger(TestServerCrashProcedureWithReplicas.class);
+ HBaseClassTestRule.forClass(TestSCPWithReplicas.class);
+ private static final Logger LOG = LoggerFactory.getLogger(TestSCPWithReplicas.class);
@Override
protected void startMiniCluster() throws Exception {
@@ -55,6 +54,7 @@ public class TestServerCrashProcedureWithReplicas extends TestServerCrashProcedu
return t;
}
+ @Override
protected void assertReplicaDistributed(final Table t) {
// Assert all data came back.
List<RegionInfo> regionInfos = new ArrayList<>();
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithoutZKCoordinated.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithoutZKCoordinated.java
new file mode 100644
index 0000000..ead6572
--- /dev/null
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithReplicasWithoutZKCoordinated.java
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.junit.ClassRule;
+import org.junit.experimental.categories.Category;
+
+@Category({ MasterTests.class, LargeTests.class })
+public class TestSCPWithReplicasWithoutZKCoordinated extends TestSCPWithReplicas {
+
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+ HBaseClassTestRule.forClass(TestSCPWithReplicasWithoutZKCoordinated.class);
+
+ @Override
+ protected void setupConf(Configuration conf) {
+ super.setupConf(conf);
+ conf.setBoolean(HConstants.HBASE_SPLIT_WAL_COORDINATED_BY_ZK, false);
+ }
+}
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutZKCoordinated.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutZKCoordinated.java
new file mode 100644
index 0000000..059ece2
--- /dev/null
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/procedure/TestSCPWithoutZKCoordinated.java
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.master.procedure;
+
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseClassTestRule;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.testclassification.LargeTests;
+import org.apache.hadoop.hbase.testclassification.MasterTests;
+import org.junit.ClassRule;
+import org.junit.experimental.categories.Category;
+
+@Category({MasterTests.class, LargeTests.class})
+public class TestSCPWithoutZKCoordinated extends TestSCP {
+
+ @ClassRule
+ public static final HBaseClassTestRule CLASS_RULE =
+ HBaseClassTestRule.forClass(TestSCPWithoutZKCoordinated.class);
+
+ @Override
+ protected void setupConf(Configuration conf) {
+ super.setupConf(conf);
+ conf.setBoolean(HConstants.HBASE_SPLIT_WAL_COORDINATED_BY_ZK, false);
+ }
+}