diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java index 8f3de3e3929b..a4c126b83686 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java @@ -150,22 +150,11 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo */ void incrSlowAppend(); - /** - * Update the split transaction time histogram - * @param t time it took, in milliseconds - */ - void updateSplitTime(long t); - /** * Increment number of a requested splits */ void incrSplitRequest(); - /** - * Increment number of successful splits - */ - void incrSplitSuccess(); - /** * Update the flush time histogram * @param t time it took, in milliseconds @@ -557,11 +546,8 @@ public interface MetricsRegionServerSource extends BaseSource, JvmPauseMonitorSo String BLOCKED_REQUESTS_COUNT_DESC = "The number of blocked requests because of memstore size is " + "larger than blockingMemStoreSize"; - String SPLIT_KEY = "splitTime"; String SPLIT_REQUEST_KEY = "splitRequestCount"; String SPLIT_REQUEST_DESC = "Number of splits requested"; - String SPLIT_SUCCESS_KEY = "splitSuccessCount"; - String SPLIT_SUCCESS_DESC = "Number of successfully executed splits"; String FLUSH_TIME = "flushTime"; String FLUSH_TIME_DESC = "Histogram for the time in millis for memstore flush"; diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java index b65457a87147..99d2ca5469a4 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java +++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSource.java @@ -45,22 +45,11 @@ public interface MetricsTableSource extends Comparable, Clos */ MetricsTableAggregateSource getAggregateSource(); - /** - * Update the split transaction time histogram - * @param t time it took, in milliseconds - */ - void updateSplitTime(long t); - /** * Increment number of a requested splits */ void incrSplitRequest(); - /** - * Increment number of successful splits - */ - void incrSplitSuccess(); - /** * Update the flush time histogram * @param t time it took, in milliseconds diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java index 681e0617e26b..4a0ddcfc9c0e 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java @@ -63,8 +63,6 @@ public class MetricsRegionServerSourceImpl extends BaseSourceImpl // split related metrics private final MutableFastCounter splitRequest; - private final MutableFastCounter splitSuccess; - private final MetricHistogram splitTimeHisto; // flush related metrics private final MetricHistogram flushTimeHisto; @@ -182,9 +180,7 @@ public MetricsRegionServerSourceImpl(String metricsName, String metricsDescripti majorCompactedOutputBytes = getMetricsRegistry().newCounter(MAJOR_COMPACTED_OUTPUT_BYTES, MAJOR_COMPACTED_OUTPUT_BYTES_DESC, 0L); - splitTimeHisto = getMetricsRegistry().newTimeHistogram(SPLIT_KEY); splitRequest = getMetricsRegistry().newCounter(SPLIT_REQUEST_KEY, SPLIT_REQUEST_DESC, 0L); - splitSuccess = getMetricsRegistry().newCounter(SPLIT_SUCCESS_KEY, SPLIT_SUCCESS_DESC, 0L); // pause monitor metrics infoPauseThresholdExceeded = @@ -280,16 +276,6 @@ public void incrSplitRequest() { splitRequest.incr(); } - @Override - public void incrSplitSuccess() { - splitSuccess.incr(); - } - - @Override - public void updateSplitTime(long t) { - splitTimeHisto.add(t); - } - @Override public void updateFlushTime(long t) { flushTimeHisto.add(t); diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java index 05e07e95ae6c..ed2c08f3dccb 100644 --- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java +++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java @@ -55,11 +55,8 @@ import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.MAJOR_COMPACTION_OUTPUT_SIZE_DESC; import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.MAJOR_COMPACTION_TIME; import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.MAJOR_COMPACTION_TIME_DESC; -import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_KEY; import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_REQUEST_DESC; import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_REQUEST_KEY; -import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_SUCCESS_DESC; -import static org.apache.hadoop.hbase.regionserver.MetricsRegionServerSource.SPLIT_SUCCESS_KEY; import java.util.Map; import java.util.Map.Entry; @@ -101,8 +98,6 @@ public class MetricsTableSourceImpl implements MetricsTableSource { // split related metrics private MutableFastCounter splitRequest; - private MutableFastCounter splitSuccess; - private MetricHistogram splitTimeHisto; // flush related metrics private MetricHistogram flushTimeHisto; @@ -186,9 +181,7 @@ public synchronized void registerMetrics() { majorCompactedOutputBytes = registry.newCounter(tableNamePrefix + MAJOR_COMPACTED_OUTPUT_BYTES, MAJOR_COMPACTED_OUTPUT_BYTES_DESC, 0L); - splitTimeHisto = registry.newTimeHistogram(tableNamePrefix + SPLIT_KEY); splitRequest = registry.newCounter(tableNamePrefix + SPLIT_REQUEST_KEY, SPLIT_REQUEST_DESC, 0L); - splitSuccess = registry.newCounter(tableNamePrefix + SPLIT_SUCCESS_KEY, SPLIT_SUCCESS_DESC, 0L); } private void deregisterMetrics() { @@ -211,9 +204,7 @@ private void deregisterMetrics() { registry.removeHistogramMetrics(tableNamePrefix + MAJOR_COMPACTION_OUTPUT_SIZE); registry.removeMetric(tableNamePrefix + MAJOR_COMPACTED_INPUT_BYTES); registry.removeMetric(tableNamePrefix + MAJOR_COMPACTED_OUTPUT_BYTES); - registry.removeHistogramMetrics(tableNamePrefix + SPLIT_KEY); registry.removeMetric(tableNamePrefix + SPLIT_REQUEST_KEY); - registry.removeMetric(tableNamePrefix + SPLIT_SUCCESS_KEY); } @Override @@ -424,16 +415,6 @@ public void incrSplitRequest() { splitRequest.incr(); } - @Override - public void incrSplitSuccess() { - splitSuccess.incr(); - } - - @Override - public void updateSplitTime(long t) { - splitTimeHisto.add(t); - } - @Override public void updateFlushTime(long t) { flushTimeHisto.add(t); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java index 580f77874992..6cccc8e45bb9 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServer.java @@ -210,16 +210,11 @@ public void updateScan(HRegion region, long time, long responseCellSize, long bl userAggregate.updateScan(time, blockBytesScanned); } - public void updateSplitTime(long t) { - serverSource.updateSplitTime(t); - } - - public void incrSplitRequest() { + public void incrSplitRequest(String table) { serverSource.incrSplitRequest(); - } - - public void incrSplitSuccess() { - serverSource.incrSplitSuccess(); + if (table != null) { + metricsTable.incrSplitRequest(table); + } } public void updateFlush(String table, long t, long memstoreSize, long fileSize) { diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTable.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTable.java index 48d06ad26a89..427fd6a0b64b 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTable.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTable.java @@ -43,14 +43,6 @@ public void incrSplitRequest(String table) { tableSourceAgg.getOrCreateTableSource(table, wrapper).incrSplitRequest(); } - public void incrSplitSuccess(String table) { - tableSourceAgg.getOrCreateTableSource(table, wrapper).incrSplitSuccess(); - } - - public void updateSplitTime(String table, long t) { - tableSourceAgg.getOrCreateTableSource(table, wrapper).updateSplitTime(t); - } - public void updateFlushTime(String table, long t) { tableSourceAgg.getOrCreateTableSource(table, wrapper).updateFlushTime(t); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java index d979a3ac82e2..c16a993e8729 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/SplitRequest.java @@ -58,7 +58,7 @@ public String toString() { } private void doSplitting() { - server.getMetrics().incrSplitRequest(); + server.getMetrics().incrSplitRequest(this.parent.getTable().getNameAsString()); if (user != null && user.getUGI() != null) { user.getUGI().doAs((PrivilegedAction) () -> { requestRegionSplit(); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java index f7ada213d98c..b99c93261a37 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsRegionServer.java @@ -364,4 +364,10 @@ public void testThrottleExceptionMetricsIntegration() { "RpcThrottlingException_Type_ReadCapacityUnitExceeded_User_unknown_Table_unknown", 1L, serverSource); } + + @Test + public void testSplitRequest() { + rsm.incrSplitRequest(null); + HELPER.assertCounter("splitRequestCount", 1, serverSource); + } } diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.java index bd01808e6bb7..bee3fe7c363c 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMetricsTableAggregate.java @@ -161,6 +161,13 @@ public void testCompaction() { HELPER.assertCounter(pre + "majorCompactedoutputBytes", 500, agg); } + @Test + public void testSplitRequest() { + rsm.incrSplitRequest(null); + rsm.incrSplitRequest(tableName); + HELPER.assertCounter(pre + "splitRequestCount", 1, agg); + } + private void update(AtomicBoolean succ, int round, CyclicBarrier barrier) { try { for (int i = 0; i < round; i++) {