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);
+  }
+}