This is an automated email from the ASF dual-hosted git repository.
pankajkumar pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-3 by this push:
new edb9f8aa106 HBASE-29562 Add RegionServer Metrics for excluded
DataNodes (#7260)
edb9f8aa106 is described below
commit edb9f8aa106d89a39943cb17e8c4983ec9f4644c
Author: Sreenivasulu <[email protected]>
AuthorDate: Sat Feb 14 19:45:08 2026 +0530
HBASE-29562 Add RegionServer Metrics for excluded DataNodes (#7260)
Signed-off-by: Duo Zhang <[email protected]>
Signed-off-by: Pankaj Kumar<[email protected]>
(cherry picked from commit ad5bf7f11202595a57170ef8f2f67da1d1f86c91)
---
.../hadoop/hbase/regionserver/MetricsRegionServerSource.java | 6 ++++++
.../hbase/regionserver/MetricsRegionServerSourceImpl.java | 10 +++++++++-
2 files changed, 15 insertions(+), 1 deletion(-)
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 f0b4a073383..25dfbbd180d 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
@@ -667,4 +667,10 @@ public interface MetricsRegionServerSource extends
BaseSource, JvmPauseMonitorSo
"Count of scanners which were expired due to scanner lease timeout";
String CURRENT_REGION_CACHE_RATIO = "currentRegionCacheRatio";
String CURRENT_REGION_CACHE_RATIO_DESC = "The percentage of caching
completed for this region.";
+
+ String EXCLUDE_DATA_NODES_COUNT = "excludedDataNodesCount";
+ String EXCLUDE_DATA_NODES_COUNT_DESC =
+ "Count of slow/connect error DataNodes excluded during WAL write
operation";
+ String EXCLUDE_DATA_NODES_DETAILS = "excludedDataNodesDetails";
+ String EXCLUDE_DATA_NODES_DETAILS_DESC = "Excluded DataNodes info";
}
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 faeea3e8fd9..8c44f80451f 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
@@ -369,7 +369,8 @@ public class MetricsRegionServerSourceImpl extends
BaseSourceImpl
// rsWrap can be null because this function is called inside of init.
if (rsWrap != null) {
- addGaugesToMetricsRecordBuilder(mrb)
+ MetricsRecordBuilder metricsRecordBuilder =
addGaugesToMetricsRecordBuilder(mrb);
+ metricsRecordBuilder
.addCounter(Interns.info(TOTAL_REQUEST_COUNT,
TOTAL_REQUEST_COUNT_DESC),
rsWrap.getTotalRequestCount())
.addCounter(
@@ -496,10 +497,17 @@ public class MetricsRegionServerSourceImpl extends
BaseSourceImpl
rsWrap.getHedgedReadOpsInCurThread())
.addCounter(Interns.info(BLOCKED_REQUESTS_COUNT,
BLOCKED_REQUESTS_COUNT_DESC),
rsWrap.getBlockedRequestsCount())
+ .addCounter(Interns.info(EXCLUDE_DATA_NODES_COUNT,
EXCLUDE_DATA_NODES_COUNT_DESC),
+ rsWrap.getWALExcludeDNs().size())
.tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),
rsWrap.getZookeeperQuorum())
.tag(Interns.info(SERVER_NAME_NAME, SERVER_NAME_DESC),
rsWrap.getServerName())
.tag(Interns.info(CLUSTER_ID_NAME, CLUSTER_ID_DESC),
rsWrap.getClusterId());
+ if (!rsWrap.getWALExcludeDNs().isEmpty()) {
+ metricsRecordBuilder.tag(
+ Interns.info(EXCLUDE_DATA_NODES_DETAILS,
EXCLUDE_DATA_NODES_DETAILS_DESC),
+ rsWrap.getWALExcludeDNs().toString());
+ }
}
metricsRegistry.snapshot(mrb, all);