diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsUserAggregateFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsUserAggregateFactory.java index 38e440bd2a6c..f766e91423d9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsUserAggregateFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsUserAggregateFactory.java @@ -28,7 +28,7 @@ private MetricsUserAggregateFactory() { } public static final String METRIC_USER_ENABLED_CONF = "hbase.regionserver.user.metrics.enabled"; - public static final boolean DEFAULT_METRIC_USER_ENABLED_CONF = true; + public static final boolean DEFAULT_METRIC_USER_ENABLED_CONF = false; public static MetricsUserAggregate getMetricsUserAggregate(Configuration conf) { if (conf.getBoolean(METRIC_USER_ENABLED_CONF, DEFAULT_METRIC_USER_ENABLED_CONF)) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterMetrics.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterMetrics.java index b0e3991988c7..c62424efb192 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterMetrics.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/TestClientClusterMetrics.java @@ -49,6 +49,7 @@ import org.apache.hadoop.hbase.filter.FilterAllFilter; import org.apache.hadoop.hbase.master.HMaster; import org.apache.hadoop.hbase.regionserver.HRegionServer; +import org.apache.hadoop.hbase.regionserver.MetricsUserAggregateFactory; import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.security.UserProvider; import org.apache.hadoop.hbase.testclassification.MediumTests; @@ -251,6 +252,11 @@ public void testMasterAndBackupMastersStatus() throws Exception { @Test public void testUserMetrics() throws Exception { Configuration conf = UTIL.getConfiguration(); + // If metrics for users is not enabled, this test doesn't make sense. + if (!conf.getBoolean(MetricsUserAggregateFactory.METRIC_USER_ENABLED_CONF, + MetricsUserAggregateFactory.DEFAULT_METRIC_USER_ENABLED_CONF)) { + return; + } User userFoo = User.createUserForTesting(conf, "FOO_USER_METRIC_TEST", new String[0]); User userBar = User.createUserForTesting(conf, "BAR_USER_METRIC_TEST", new String[0]); User userTest = User.createUserForTesting(conf, "TEST_USER_METRIC_TEST", new String[0]); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.java index 645c7f2e66ba..501ca726cd31 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsUserAggregate.java @@ -47,7 +47,7 @@ public class TestMetricsUserAggregate { private MetricsRegionServerWrapperStub wrapper; private MetricsRegionServer rsm; - private MetricsUserAggregateImpl userAgg; + private MetricsUserAggregate userAgg; private TableName tableName = TableName.valueOf("testUserAggregateMetrics"); @BeforeClass @@ -60,7 +60,7 @@ public void setUp() { wrapper = new MetricsRegionServerWrapperStub(); Configuration conf = HBaseConfiguration.create(); rsm = new MetricsRegionServer(wrapper,conf , null); - userAgg = (MetricsUserAggregateImpl)rsm.getMetricsUserAggregate(); + userAgg = (MetricsUserAggregate)rsm.getMetricsUserAggregate(); } private void doOperations() { @@ -90,6 +90,11 @@ private void doOperations() { @Test public void testPerUserOperations() { Configuration conf = HBaseConfiguration.create(); + // If metrics for users is not enabled, this test doesn't make sense. + if (!conf.getBoolean(MetricsUserAggregateFactory.METRIC_USER_ENABLED_CONF, + MetricsUserAggregateFactory.DEFAULT_METRIC_USER_ENABLED_CONF)) { + return; + } User userFoo = User.createUserForTesting(conf, "FOO", new String[0]); User userBar = User.createUserForTesting(conf, "BAR", new String[0]); @@ -128,6 +133,11 @@ public Void run() { @Test public void testLossyCountingOfUserMetrics() { Configuration conf = HBaseConfiguration.create(); + // If metrics for users is not enabled, this test doesn't make sense. + if (!conf.getBoolean(MetricsUserAggregateFactory.METRIC_USER_ENABLED_CONF, + MetricsUserAggregateFactory.DEFAULT_METRIC_USER_ENABLED_CONF)) { + return; + } int noOfUsers = 10000; for (int i = 1; i <= noOfUsers; i++) { User.createUserForTesting(conf, "FOO" + i, new String[0]).getUGI()