From 258f92f1fb3457bf224e594650d7345df2f38be8 Mon Sep 17 00:00:00 2001 From: Xu Cang Date: Tue, 24 Jul 2018 17:18:53 -0700 Subject: [PATCH] HBASE-20815 add more assertions to test TestServerCrashProcedure --- .../hbase/master/procedure/TestServerCrashProcedure.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 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/TestServerCrashProcedure.java index 9f7fafeca6..0a5f9ca8d9 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/TestServerCrashProcedure.java @@ -57,7 +57,7 @@ public class TestServerCrashProcedure { private ProcedureMetrics serverCrashProcMetrics; private long serverCrashSubmittedCount = 0; private long serverCrashFailedCount = 0; - + private static long testCount = 0; private void setupConf(Configuration conf) { conf.setInt(MasterProcedureConstants.MASTER_PROCEDURE_THREADS, 1); conf.set("hbase.balancer.tablesOnMaster", "none"); @@ -86,7 +86,6 @@ public class TestServerCrashProcedure { this.util.shutdownMiniCluster(); } - @Test public void testCrashTargetRs() throws Exception { testRecoveryAndDoubleExecution(false, false); @@ -102,6 +101,11 @@ public class TestServerCrashProcedure { testRecoveryAndDoubleExecution(false, true); } + @Test + public void testRecoveryOnRsWithMeta() throws Exception { + testRecoveryAndDoubleExecution(true, false); + } + private long getSCPProcId(ProcedureExecutor procExec) { util.waitFor(30000, () -> !procExec.getProcedures().isEmpty()); return procExec.getActiveProcIds().stream().mapToLong(Long::longValue).min().getAsLong(); @@ -113,6 +117,7 @@ public class TestServerCrashProcedure { */ private void testRecoveryAndDoubleExecution(boolean carryingMeta, boolean doubleExecution) throws Exception { + testCount++; final TableName tableName = TableName.valueOf( "testRecoveryAndDoubleExecution-carryingMeta-" + carryingMeta); final Table t = this.util.createTable(tableName, HBaseTestingUtility.COLUMNS, @@ -154,6 +159,10 @@ public class TestServerCrashProcedure { // Assert all data came back. assertEquals(count, util.countRows(t)); assertEquals(checksum, util.checksumRows(t)); + + collectMasterMetrics(); + assertEquals(testCount, serverCrashSubmittedCount); + assertEquals(0, serverCrashFailedCount); } catch(Throwable throwable) { LOG.error("Test failed!", throwable); throw throwable; -- 2.14.3 (Apple Git-98)