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 25dfbbd180db..ffcbb1fa5d27 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 @@ -151,22 +151,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 @@ -564,11 +553,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/MetricsRegionServerSourceImpl.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java index 8c44f80451fe..07fd6f8b1ed3 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java +++ b/hbase-hadoop-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-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-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java index 1565c8d639df..9977466fbfd5 100644 --- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsTableSourceImpl.java +++ b/hbase-hadoop-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 @@ -428,16 +419,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 4f5108769d6a..0de8e96962c6 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 @@ -209,16 +209,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 8c6b3f04eb6b..8409c57912c9 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++) {