This is an automated email from the ASF dual-hosted git repository. stack pushed a commit to branch branch-2 in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push: new 9cf57a7 HBASE-23737 [Flakey Tests] TestFavoredNodeTableImport fails 30% of the time 9cf57a7 is described below commit 9cf57a7db6217151fab9344e6eade4d0843bd405 Author: stack <st...@apache.org> AuthorDate: Fri Jan 24 17:56:42 2020 -0800 HBASE-23737 [Flakey Tests] TestFavoredNodeTableImport fails 30% of the time --- .../balancer/TestFavoredNodeTableImport.java | 27 +++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredNodeTableImport.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredNodeTableImport.java index 6958ed2..29f0708 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredNodeTableImport.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredNodeTableImport.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -20,6 +20,7 @@ package org.apache.hadoop.hbase.master.balancer; import static org.apache.hadoop.hbase.favored.FavoredNodeAssignmentHelper.FAVORED_NODES_NUM; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.util.List; import java.util.Set; @@ -34,11 +35,13 @@ import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.favored.FavoredNodesManager; +import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; import org.junit.After; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Test; import org.junit.experimental.categories.Category; import org.slf4j.Logger; @@ -66,7 +69,6 @@ public class TestFavoredNodeTableImport { @After public void stopCluster() throws Exception { - UTIL.cleanupTestDir(); UTIL.shutdownMiniCluster(); } @@ -81,13 +83,14 @@ public class TestFavoredNodeTableImport { Threads.sleep(1); } Admin admin = UTIL.getAdmin(); - admin.setBalancerRunning(false, true); + admin.balancerSwitch(false, true); String tableName = "testFNImport"; HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(tableName)); desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY)); admin.createTable(desc, Bytes.toBytes("a"), Bytes.toBytes("z"), REGION_NUM); UTIL.waitTableAvailable(desc.getTableName()); + admin.balancerSwitch(true, true); LOG.info("Shutting down cluster"); UTIL.shutdownMiniHBaseCluster(); @@ -97,18 +100,26 @@ public class TestFavoredNodeTableImport { UTIL.getConfiguration().set(HConstants.HBASE_MASTER_LOADBALANCER_CLASS, FavoredStochasticBalancer.class.getName()); UTIL.restartHBaseCluster(SLAVES); - while (!UTIL.getMiniHBaseCluster().getMaster().isInitialized()) { + HMaster master = UTIL.getMiniHBaseCluster().getMaster(); + while (!master.isInitialized()) { Threads.sleep(1); } - admin = UTIL.getAdmin(); - UTIL.waitTableAvailable(desc.getTableName()); + UTIL.waitUntilNoRegionsInTransition(10000); + assertTrue(master.isBalancerOn()); - FavoredNodesManager fnm = UTIL.getHBaseCluster().getMaster().getFavoredNodesManager(); + FavoredNodesManager fnm = master.getFavoredNodesManager(); + assertNotNull(fnm); + admin = UTIL.getAdmin(); List<HRegionInfo> regionsOfTable = admin.getTableRegions(TableName.valueOf(tableName)); for (HRegionInfo rInfo : regionsOfTable) { - Set<ServerName> favNodes = Sets.newHashSet(fnm.getFavoredNodes(rInfo)); + assertNotNull(rInfo); + assertNotNull(fnm); + List<ServerName> fns = fnm.getFavoredNodes(rInfo); + LOG.info("FNS {} {}", rInfo, fns); + assertNotNull(rInfo.toString(), fns); + Set<ServerName> favNodes = Sets.newHashSet(fns); assertNotNull(favNodes); assertEquals("Required no of favored nodes not found.", FAVORED_NODES_NUM, favNodes.size()); for (ServerName fn : favNodes) {