http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java deleted file mode 100644 index 3e7d63a..0000000 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientClusterStatus.java +++ /dev/null @@ -1,242 +0,0 @@ -/** - * 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.client; - -import java.io.IOException; -import java.util.EnumSet; -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.atomic.AtomicInteger; -import java.util.stream.Stream; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.ClusterStatus; -import org.apache.hadoop.hbase.ClusterStatus.Option; -import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HBaseTestingUtility; -import org.apache.hadoop.hbase.MiniHBaseCluster; -import org.apache.hadoop.hbase.ServerName; -import org.apache.hadoop.hbase.Waiter; -import org.apache.hadoop.hbase.Waiter.Predicate; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.coprocessor.MasterCoprocessor; -import org.apache.hadoop.hbase.coprocessor.MasterCoprocessorEnvironment; -import org.apache.hadoop.hbase.coprocessor.MasterObserver; -import org.apache.hadoop.hbase.coprocessor.ObserverContext; -import org.apache.hadoop.hbase.master.HMaster; -import org.apache.hadoop.hbase.regionserver.HRegionServer; -import org.apache.hadoop.hbase.security.User; -import org.apache.hadoop.hbase.testclassification.SmallTests; -import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread; -import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread; -import org.junit.AfterClass; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.junit.experimental.categories.Category; - -/** - * Test the ClusterStatus. - */ -@Category(SmallTests.class) -public class TestClientClusterStatus { - private static HBaseTestingUtility UTIL; - private static Admin ADMIN; - private final static int SLAVES = 5; - private final static int MASTERS = 3; - private static MiniHBaseCluster CLUSTER; - private static HRegionServer DEAD; - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - Configuration conf = HBaseConfiguration.create(); - conf.set(CoprocessorHost.MASTER_COPROCESSOR_CONF_KEY, MyObserver.class.getName()); - UTIL = new HBaseTestingUtility(conf); - UTIL.startMiniCluster(MASTERS, SLAVES); - CLUSTER = UTIL.getHBaseCluster(); - CLUSTER.waitForActiveAndReadyMaster(); - ADMIN = UTIL.getAdmin(); - // Kill one region server - List<RegionServerThread> rsts = CLUSTER.getLiveRegionServerThreads(); - RegionServerThread rst = rsts.get(rsts.size() - 1); - DEAD = rst.getRegionServer(); - DEAD.stop("Test dead servers status"); - while (rst.isAlive()) { - Thread.sleep(500); - } - } - - @Test - public void testDefaults() throws Exception { - ClusterStatus origin = ADMIN.getClusterStatus(); - ClusterStatus defaults = ADMIN.getClusterStatus(EnumSet.allOf(Option.class)); - Assert.assertEquals(origin.getHBaseVersion(), defaults.getHBaseVersion()); - Assert.assertEquals(origin.getClusterId(), defaults.getClusterId()); - Assert.assertTrue(origin.getAverageLoad() == defaults.getAverageLoad()); - Assert.assertTrue(origin.getBackupMastersSize() == defaults.getBackupMastersSize()); - Assert.assertTrue(origin.getDeadServersSize() == defaults.getDeadServersSize()); - Assert.assertTrue(origin.getRegionsCount() == defaults.getRegionsCount()); - Assert.assertTrue(origin.getServersSize() == defaults.getServersSize()); - Assert.assertTrue(origin.getMasterInfoPort() == defaults.getMasterInfoPort()); - Assert.assertTrue(origin.equals(defaults)); - } - - @Test - public void testNone() throws Exception { - ClusterStatus status0 = ADMIN.getClusterStatus(EnumSet.allOf(Option.class)); - ClusterStatus status1 = ADMIN.getClusterStatus(EnumSet.noneOf(Option.class)); - Assert.assertEquals(status0, status1); - } - - @Test - public void testAsyncClient() throws Exception { - AsyncRegistry registry = AsyncRegistryFactory.getRegistry(UTIL.getConfiguration()); - AsyncConnectionImpl asyncConnect = new AsyncConnectionImpl(UTIL.getConfiguration(), registry, - registry.getClusterId().get(), User.getCurrent()); - AsyncAdmin asyncAdmin = asyncConnect.getAdmin(); - CompletableFuture<ClusterStatus> originFuture = - asyncAdmin.getClusterStatus(); - CompletableFuture<ClusterStatus> defaultsFuture = - asyncAdmin.getClusterStatus(EnumSet.allOf(Option.class)); - ClusterStatus origin = originFuture.get(); - ClusterStatus defaults = defaultsFuture.get(); - Assert.assertEquals(origin.getHBaseVersion(), defaults.getHBaseVersion()); - Assert.assertEquals(origin.getClusterId(), defaults.getClusterId()); - Assert.assertTrue(origin.getAverageLoad() == defaults.getAverageLoad()); - Assert.assertTrue(origin.getBackupMastersSize() == defaults.getBackupMastersSize()); - Assert.assertTrue(origin.getDeadServersSize() == defaults.getDeadServersSize()); - Assert.assertTrue(origin.getRegionsCount() == defaults.getRegionsCount()); - Assert.assertTrue(origin.getServersSize() == defaults.getServersSize()); - if (asyncConnect != null) { - asyncConnect.close(); - } - } - - @Test - public void testLiveAndDeadServersStatus() throws Exception { - // Count the number of live regionservers - List<RegionServerThread> regionserverThreads = CLUSTER.getLiveRegionServerThreads(); - int numRs = 0; - int len = regionserverThreads.size(); - for (int i = 0; i < len; i++) { - if (regionserverThreads.get(i).isAlive()) { - numRs++; - } - } - // Depending on the (random) order of unit execution we may run this unit before the - // minicluster is fully up and recovered from the RS shutdown done during test init. - Waiter.waitFor(CLUSTER.getConfiguration(), 10 * 1000, 100, new Predicate<Exception>() { - @Override - public boolean evaluate() throws Exception { - ClusterStatus status = ADMIN.getClusterStatus(EnumSet.of(Option.LIVE_SERVERS)); - Assert.assertNotNull(status); - return status.getRegionsCount() > 0; - } - }); - // Retrieve live servers and dead servers info. - EnumSet<Option> options = EnumSet.of(Option.LIVE_SERVERS, Option.DEAD_SERVERS); - ClusterStatus status = ADMIN.getClusterStatus(options); - Assert.assertNotNull(status); - Assert.assertNotNull(status.getServers()); - // exclude a dead region server - Assert.assertEquals(SLAVES -1, numRs); - // live servers = nums of regionservers - // By default, HMaster don't carry any regions so it won't report its load. - // Hence, it won't be in the server list. - Assert.assertEquals(status.getServers().size(), numRs); - Assert.assertTrue(status.getRegionsCount() > 0); - Assert.assertNotNull(status.getDeadServerNames()); - Assert.assertEquals(1, status.getDeadServersSize()); - ServerName deadServerName = status.getDeadServerNames().iterator().next(); - Assert.assertEquals(DEAD.getServerName(), deadServerName); - } - - @Test - public void testMasterAndBackupMastersStatus() throws Exception { - // get all the master threads - List<MasterThread> masterThreads = CLUSTER.getMasterThreads(); - int numActive = 0; - int activeIndex = 0; - ServerName activeName = null; - HMaster active = null; - for (int i = 0; i < masterThreads.size(); i++) { - if (masterThreads.get(i).getMaster().isActiveMaster()) { - numActive++; - activeIndex = i; - active = masterThreads.get(activeIndex).getMaster(); - activeName = active.getServerName(); - } - } - Assert.assertNotNull(active); - Assert.assertEquals(1, numActive); - Assert.assertEquals(MASTERS, masterThreads.size()); - // Retrieve master and backup masters infos only. - EnumSet<Option> options = EnumSet.of(Option.MASTER, Option.BACKUP_MASTERS); - ClusterStatus status = ADMIN.getClusterStatus(options); - Assert.assertTrue(status.getMaster().equals(activeName)); - Assert.assertEquals(MASTERS - 1, status.getBackupMastersSize()); - } - - @Test - public void testOtherStatusInfos() throws Exception { - EnumSet<Option> options = - EnumSet.of(Option.MASTER_COPROCESSORS, Option.HBASE_VERSION, - Option.CLUSTER_ID, Option.BALANCER_ON); - ClusterStatus status = ADMIN.getClusterStatus(options); - Assert.assertTrue(status.getMasterCoprocessors().length == 1); - Assert.assertNotNull(status.getHBaseVersion()); - Assert.assertNotNull(status.getClusterId()); - Assert.assertTrue(status.getAverageLoad() == 0.0); - Assert.assertNotNull(status.getBalancerOn()); - } - - @AfterClass - public static void tearDownAfterClass() throws Exception { - if (ADMIN != null) ADMIN.close(); - UTIL.shutdownMiniCluster(); - } - - @Test - public void testObserver() throws IOException { - int preCount = MyObserver.PRE_COUNT.get(); - int postCount = MyObserver.POST_COUNT.get(); - Assert.assertTrue(Stream.of(ADMIN.getClusterStatus().getMasterCoprocessors()) - .anyMatch(s -> s.equals(MyObserver.class.getSimpleName()))); - Assert.assertEquals(preCount + 1, MyObserver.PRE_COUNT.get()); - Assert.assertEquals(postCount + 1, MyObserver.POST_COUNT.get()); - } - - public static class MyObserver implements MasterCoprocessor, MasterObserver { - private static final AtomicInteger PRE_COUNT = new AtomicInteger(0); - private static final AtomicInteger POST_COUNT = new AtomicInteger(0); - - @Override public Optional<MasterObserver> getMasterObserver() { - return Optional.of(this); - } - - @Override public void preGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx) - throws IOException { - PRE_COUNT.incrementAndGet(); - } - - @Override public void postGetClusterStatus(ObserverContext<MasterCoprocessorEnvironment> ctx, - ClusterStatus status) throws IOException { - POST_COUNT.incrementAndGet(); - } - } -}
http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java index c2a7f6b..e48667e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java @@ -50,7 +50,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellScanner; import org.apache.hadoop.hbase.CellUtil; -import org.apache.hadoop.hbase.ClusterStatus.Option; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.CompareOperator; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java index 62a42ce..4497a529 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMetaWithReplicas.java @@ -33,7 +33,7 @@ import java.util.concurrent.ExecutorService; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.Abortable; import org.apache.hadoop.hbase.CategoryBasedTimeout; -import org.apache.hadoop.hbase.ClusterStatus.Option; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionLocation; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestServerLoadDurability.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestServerLoadDurability.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestServerLoadDurability.java new file mode 100644 index 0000000..ff0dcd6 --- /dev/null +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestServerLoadDurability.java @@ -0,0 +1,117 @@ +/** + * 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.client; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.HBaseConfiguration; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.TableName; +import org.apache.hadoop.hbase.io.ByteBufferPool; +import org.apache.hadoop.hbase.ipc.NettyRpcServer; +import org.apache.hadoop.hbase.ipc.RpcServerFactory; +import org.apache.hadoop.hbase.ipc.SimpleRpcServer; +import org.apache.hadoop.hbase.testclassification.ClientTests; +import org.apache.hadoop.hbase.testclassification.MediumTests; +import org.apache.hadoop.hbase.util.Bytes; +import org.junit.After; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.rules.TestName; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; + +/** + * HBASE-19496 noticed that the RegionLoad/ServerLoad may be corrupted if rpc server + * reuses the bytebuffer backed, so this test call the Admin#getLastMajorCompactionTimestamp() to + * invoke HMaster to iterate all stored server/region loads. + */ +@RunWith(Parameterized.class) +@Category({ MediumTests.class, ClientTests.class }) +public class TestServerLoadDurability { + private static final byte[] FAMILY = Bytes.toBytes("testFamily"); + + @Parameterized.Parameter + public Configuration conf; + + @Parameterized.Parameters + public static final Collection<Object[]> parameters() { + List<Object[]> configurations = new ArrayList<>(); + configurations.add(new Object[] { createConfigurationForSimpleRpcServer() }); + configurations.add(new Object[] { createConfigurationForNettyRpcServer() }); + return configurations; + } + + private static Configuration createConfigurationForSimpleRpcServer() { + Configuration conf = HBaseConfiguration.create(); + conf.set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY, + SimpleRpcServer.class.getName()); + conf.setInt(ByteBufferPool.BUFFER_SIZE_KEY, 20); + return conf; + } + + private static Configuration createConfigurationForNettyRpcServer() { + Configuration conf = HBaseConfiguration.create(); + conf.set(RpcServerFactory.CUSTOM_RPC_SERVER_IMPL_CONF_KEY, + NettyRpcServer.class.getName()); + return conf; + } + + protected HBaseTestingUtility utility; + protected Connection conn; + protected Admin admin; + + @Rule + public TestName testName = new TestName(); + protected TableName tableName; + + @Before + public void setUp() throws Exception { + utility = new HBaseTestingUtility(conf); + utility.startMiniCluster(2); + conn = ConnectionFactory.createConnection(utility.getConfiguration()); + admin = conn.getAdmin(); + String methodName = testName.getMethodName(); + tableName = TableName.valueOf(methodName.substring(0, methodName.length() - 3)); + } + + @After + public void tearDown() throws Exception { + utility.shutdownMiniCluster(); + } + + @Test + public void testCompactionTimestamps() throws Exception { + createTableWithDefaultConf(tableName); + try (Table table = conn.getTable(tableName)) { + long ts = admin.getLastMajorCompactionTimestamp(tableName); + } + } + + private void createTableWithDefaultConf(TableName tableName) throws IOException { + TableDescriptorBuilder builder = TableDescriptorBuilder.newBuilder(tableName); + builder.addColumnFamily(ColumnFamilyDescriptorBuilder.of(FAMILY)); + admin.createTable(builder.build()); + } + +} http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java index 34a1ccf..16f98a0 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestAssignmentListener.java @@ -32,6 +32,7 @@ import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.MiniHBaseCluster; import org.apache.hadoop.hbase.ServerLoad; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; @@ -341,8 +342,8 @@ public class TestAssignmentListener { // is started (just as we see when we failover to the Backup HMaster). // One of these will already be a draining server. HashMap<ServerName, ServerLoad> onlineServers = new HashMap<>(); - onlineServers.put(SERVERNAME_A, ServerLoad.EMPTY_SERVERLOAD); - onlineServers.put(SERVERNAME_C, ServerLoad.EMPTY_SERVERLOAD); + onlineServers.put(SERVERNAME_A, new ServerLoad(ServerMetricsBuilder.of(SERVERNAME_A))); + onlineServers.put(SERVERNAME_C, new ServerLoad(ServerMetricsBuilder.of(SERVERNAME_C))); // Create draining znodes for the draining servers, which would have been // performed when the previous HMaster was running. http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java index 7a2817e..6119e43 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterNoCluster.java @@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HRegionInfo; import org.apache.hadoop.hbase.MetaMockingUtil; import org.apache.hadoop.hbase.ServerLoad; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.ZooKeeperConnectionException; @@ -230,7 +231,7 @@ public class TestMasterNoCluster { RegionServerReportRequest.Builder request = RegionServerReportRequest.newBuilder();; ServerName sn = ServerName.parseVersionedServerName(sns[i].getVersionedBytes()); request.setServer(ProtobufUtil.toServerName(sn)); - request.setLoad(ServerLoad.EMPTY_SERVERLOAD.obtainServerLoadPB()); + request.setLoad(ServerMetricsBuilder.toServerLoad(ServerMetricsBuilder.of(sn))); master.getMasterRpcServices().regionServerReport(null, request.build()); } // Master should now come up. @@ -272,7 +273,8 @@ public class TestMasterNoCluster { KeeperException, CoordinatedStateException { super.initializeZKBasedSystemTrackers(); // Record a newer server in server manager at first - getServerManager().recordNewServerWithLock(newServer, ServerLoad.EMPTY_SERVERLOAD); + getServerManager().recordNewServerWithLock(newServer, + new ServerLoad(ServerMetricsBuilder.of(newServer))); List<ServerName> onlineServers = new ArrayList<>(); onlineServers.add(deadServer); http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java index 43c258e..13d9841 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterOperationsForRegionReplicas.java @@ -31,9 +31,8 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; - import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.ClusterStatus.Option; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; @@ -52,7 +51,6 @@ import org.apache.hadoop.hbase.client.RegionInfo; import org.apache.hadoop.hbase.client.RegionReplicaUtil; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.testclassification.MasterTests; import org.apache.hadoop.hbase.testclassification.MediumTests; import org.apache.hadoop.hbase.util.Bytes; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/MockMasterServices.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/MockMasterServices.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/MockMasterServices.java index 764aa4a..5a93300 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/MockMasterServices.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/MockMasterServices.java @@ -30,6 +30,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.CoordinatedStateManager; import org.apache.hadoop.hbase.ServerLoad; +import org.apache.hadoop.hbase.ServerMetricsBuilder; import org.apache.hadoop.hbase.ServerName; import org.apache.hadoop.hbase.TableDescriptors; import org.apache.hadoop.hbase.TableName; @@ -168,8 +169,8 @@ public class MockMasterServices extends MockNoopMasterServices { startProcedureExecutor(remoteDispatcher); this.assignmentManager.start(); for (int i = 0; i < numServes; ++i) { - serverManager.regionServerReport( - ServerName.valueOf("localhost", 100 + i, 1), ServerLoad.EMPTY_SERVERLOAD); + ServerName sn = ServerName.valueOf("localhost", 100 + i, 1); + serverManager.regionServerReport(sn, new ServerLoad(ServerMetricsBuilder.of(sn))); } this.procedureExecutor.getEnvironment().setEventReady(initialized, true); } @@ -195,7 +196,7 @@ public class MockMasterServices extends MockNoopMasterServices { return; } ServerName sn = ServerName.valueOf(serverName.getAddress().toString(), startCode); - serverManager.regionServerReport(sn, ServerLoad.EMPTY_SERVERLOAD); + serverManager.regionServerReport(sn, new ServerLoad(ServerMetricsBuilder.of(sn))); } @Override http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java index fb0dea7..7865c2d 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticBalancerPickers.java @@ -27,10 +27,9 @@ import java.util.Arrays; import java.util.EnumSet; import java.util.List; import java.util.Map; - import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.ClusterStatus; -import org.apache.hadoop.hbase.ClusterStatus.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.MiniHBaseCluster; @@ -55,15 +54,15 @@ import org.apache.hadoop.hbase.regionserver.Region; import org.apache.hadoop.hbase.testclassification.LargeTests; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.JVMClusterUtil; -import org.junit.experimental.categories.Category; -import org.junit.rules.TestName; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; +import org.junit.experimental.categories.Category; +import org.junit.rules.TestName; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java index 6541f15..ea0ca18 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/balancer/TestFavoredStochasticLoadBalancer.java @@ -30,9 +30,8 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.ClusterStatus.Option; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; @@ -63,6 +62,7 @@ import org.junit.Test; import org.junit.experimental.categories.Category; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Maps; import org.apache.hadoop.hbase.shaded.com.google.common.collect.Sets; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java index 4ff9655..e7b35d9 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.java @@ -18,8 +18,19 @@ */ package org.apache.hadoop.hbase.regionserver; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; + +import java.io.IOException; +import java.util.Collection; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Optional; import org.apache.hadoop.hbase.Cell; -import org.apache.hadoop.hbase.ClusterStatus.Option; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.RegionLoad; import org.apache.hadoop.hbase.ServerLoad; @@ -57,18 +68,6 @@ import org.junit.experimental.categories.Category; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.Collection; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Optional; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; - @Category(MediumTests.class) public class TestRegionServerReadRequestMetrics { private static final Logger LOG = http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java index 3a5ca0e..df929c8 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMasterReplication.java @@ -30,13 +30,12 @@ import java.util.List; import java.util.Optional; import java.util.Random; import java.util.concurrent.CountDownLatch; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.Cell; +import org.apache.hadoop.hbase.ClusterMetrics; import org.apache.hadoop.hbase.ClusterStatus; -import org.apache.hadoop.hbase.ClusterStatus.Option; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HConstants; @@ -189,7 +188,7 @@ public class TestMasterReplication { @Override public boolean evaluate() throws Exception { ClusterStatus clusterStatus = utilities[0].getAdmin() - .getClusterStatus(EnumSet.of(Option.LIVE_SERVERS)); + .getClusterStatus(EnumSet.of(ClusterMetrics.Option.LIVE_SERVERS)); ServerLoad serverLoad = clusterStatus.getLoad(rsName); List<ReplicationLoadSource> replicationLoadSourceList = serverLoad.getReplicationLoadSourceList(); http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStatus.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStatus.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStatus.java index 8532dff..f76be44 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStatus.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationStatus.java @@ -22,11 +22,10 @@ import static org.junit.Assert.assertTrue; import java.util.EnumSet; import java.util.List; - +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.ClusterStatus; import org.apache.hadoop.hbase.ServerLoad; import org.apache.hadoop.hbase.ServerName; -import org.apache.hadoop.hbase.ClusterStatus.Option; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.testclassification.MediumTests; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java index 611463d..9e4de7e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/BaseTestHBaseFsck.java @@ -33,13 +33,12 @@ import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.ScheduledThreadPoolExecutor; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.ClusterStatus; -import org.apache.hadoop.hbase.ClusterStatus.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; @@ -77,6 +76,7 @@ import org.apache.zookeeper.KeeperException; import org.junit.rules.TestName; import org.slf4j.Logger; import org.slf4j.LoggerFactory; + import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil; import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos; http://git-wip-us.apache.org/repos/asf/hbase/blob/448ba3a7/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java index adc7567..0b9c4b5 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java @@ -23,15 +23,14 @@ import java.util.ArrayList; import java.util.Collection; import java.util.EnumSet; import java.util.List; - -import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.hbase.ClusterMetrics.Option; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.TableNotFoundException; -import org.apache.hadoop.hbase.ClusterStatus.Option; import org.apache.hadoop.hbase.client.Admin; import org.apache.hadoop.hbase.io.compress.Compression; import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;