This is an automated email from the ASF dual-hosted git repository.
sarvekshayr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 8ebb28524fb HDDS-16719. Use MutableGaugeLong for snapshot and tenant
counts in OMMetrics (#11445)
8ebb28524fb is described below
commit 8ebb28524fb8d491c736ddb89b15d84d432f7660
Author: Chi-Hsuan Huang <[email protected]>
AuthorDate: Fri Oct 9 17:36:42 2026 +0800
HDDS-16719. Use MutableGaugeLong for snapshot and tenant counts in
OMMetrics (#11445)
---
.../org/apache/hadoop/ozone/om/TestOmMetrics.java | 22 +++++++++++-----------
.../java/org/apache/hadoop/ozone/om/OMMetrics.java | 16 +++++++---------
.../hadoop/ozone/om/TestOMMetricsSetters.java | 19 +++++++++++++++++++
3 files changed, 37 insertions(+), 20 deletions(-)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
index 7ca715d7d26..5b5e73f857f 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
@@ -574,8 +574,8 @@ public void testSnapshotOps() throws Exception {
long initialNumSnapshotInfos = getLongCounter("NumSnapshotInfos",
omMetrics);
long initialNumSnapshotListFails = getLongCounter("NumSnapshotListFails",
omMetrics);
long initialNumSnapshotLists = getLongCounter("NumSnapshotLists",
omMetrics);
- long initialNumSnapshotActive = getLongCounter("NumSnapshotActive",
omMetrics);
- long initialNumSnapshotDeleted = getLongCounter("NumSnapshotDeleted",
omMetrics);
+ long initialNumSnapshotActive = getLongGauge("NumSnapshotActive",
omMetrics);
+ long initialNumSnapshotDeleted = getLongGauge("NumSnapshotDeleted",
omMetrics);
long initialNumSnapshotDeletes = getLongCounter("NumSnapshotDeletes",
omMetrics);
long initialNumSnapshotDeleteFails =
getLongCounter("NumSnapshotDeleteFails", omMetrics);
long initialNumSnapshotDiffJobs = getLongCounter("NumSnapshotDiffJobs",
omMetrics);
@@ -611,8 +611,8 @@ public void testSnapshotOps() throws Exception {
assertEquals(initialNumSnapshotCreates + 1,
getLongCounter("NumSnapshotCreates", omMetrics));
assertEquals(initialNumSnapshotListFails,
getLongCounter("NumSnapshotListFails", omMetrics));
assertEquals(initialNumSnapshotLists, getLongCounter("NumSnapshotLists",
omMetrics));
- assertEquals(initialNumSnapshotActive + 1,
getLongCounter("NumSnapshotActive", omMetrics));
- assertEquals(initialNumSnapshotDeleted,
getLongCounter("NumSnapshotDeleted", omMetrics));
+ assertEquals(initialNumSnapshotActive + 1,
getLongGauge("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotDeleted, getLongGauge("NumSnapshotDeleted",
omMetrics));
assertEquals(initialNumSnapshotDiffJobs,
getLongCounter("NumSnapshotDiffJobs", omMetrics));
assertEquals(initialNumSnapshotDiffJobFails,
getLongCounter("NumSnapshotDiffJobFails", omMetrics));
@@ -688,7 +688,7 @@ public void testSnapshotOps() throws Exception {
volumeName, bucketName, null, null, Integer.MAX_VALUE);
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumSnapshotActive + 2,
getLongCounter("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotActive + 2,
getLongGauge("NumSnapshotActive", omMetrics));
assertEquals(initialNumSnapshotCreates + 2,
getLongCounter("NumSnapshotCreates", omMetrics));
assertEquals(initialNumSnapshotListFails,
getLongCounter("NumSnapshotListFails", omMetrics));
assertEquals(initialNumSnapshotLists + 1,
getLongCounter("NumSnapshotLists", omMetrics));
@@ -704,7 +704,7 @@ public void testSnapshotOps() throws Exception {
writeClient.renameSnapshot(volumeName, bucketName, snapshot2, snapshot3);
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumSnapshotActive + 2,
getLongCounter("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotActive + 2,
getLongGauge("NumSnapshotActive", omMetrics));
assertEquals(initialNumSnapshotRenames + 1,
getLongCounter("NumSnapshotRenames", omMetrics));
assertEquals(initialNumSnapshotRenameFails,
getLongCounter("NumSnapshotRenameFails", omMetrics));
@@ -712,7 +712,7 @@ public void testSnapshotOps() throws Exception {
assertThrows(OMException.class, () ->
writeClient.renameSnapshot(volumeName,
bucketName, snapshot2, snapshot3));
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumSnapshotActive + 2,
getLongCounter("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotActive + 2,
getLongGauge("NumSnapshotActive", omMetrics));
assertEquals(initialNumSnapshotRenames + 2,
getLongCounter("NumSnapshotRenames", omMetrics));
assertEquals(initialNumSnapshotRenameFails + 1,
getLongCounter("NumSnapshotRenameFails", omMetrics));
@@ -720,18 +720,18 @@ public void testSnapshotOps() throws Exception {
writeClient.deleteSnapshot(volumeName, bucketName, snapshot3);
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumSnapshotActive + 1,
getLongCounter("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotActive + 1,
getLongGauge("NumSnapshotActive", omMetrics));
assertEquals(initialNumSnapshotDeletes + 1,
getLongCounter("NumSnapshotDeletes", omMetrics));
- assertEquals(initialNumSnapshotDeleted + 1,
getLongCounter("NumSnapshotDeleted", omMetrics));
+ assertEquals(initialNumSnapshotDeleted + 1,
getLongGauge("NumSnapshotDeleted", omMetrics));
assertEquals(initialNumSnapshotDeleteFails,
getLongCounter("NumSnapshotDeleteFails", omMetrics));
// Delete snapshot: invalid snapshot case.
assertThrows(OMException.class, () ->
writeClient.deleteSnapshot(volumeName,
bucketName, snapshot3));
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumSnapshotActive + 1,
getLongCounter("NumSnapshotActive", omMetrics));
+ assertEquals(initialNumSnapshotActive + 1,
getLongGauge("NumSnapshotActive", omMetrics));
assertEquals(initialNumSnapshotDeletes + 2,
getLongCounter("NumSnapshotDeletes", omMetrics));
- assertEquals(initialNumSnapshotDeleted + 1,
getLongCounter("NumSnapshotDeleted", omMetrics));
+ assertEquals(initialNumSnapshotDeleted + 1,
getLongGauge("NumSnapshotDeleted", omMetrics));
assertEquals(initialNumSnapshotDeleteFails + 1,
getLongCounter("NumSnapshotDeleteFails", omMetrics));
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
index ac8b7ebac5b..5b2bc2b32ae 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
@@ -169,13 +169,13 @@ public class OMMetrics implements OmMetadataReaderMetrics
{
private @Metric MutableCounterLong numCancelSnapshotDiffFails;
private @Metric MutableCounterLong numListSnapshotDiffJobFails;
- private @Metric MutableCounterLong numSnapshotActive;
- private @Metric MutableCounterLong numSnapshotDeleted;
+ private @Metric MutableGaugeLong numSnapshotActive;
+ private @Metric MutableGaugeLong numSnapshotDeleted;
// Number of tenant operations attempted
private @Metric MutableCounterLong numTenantOps;
// Metrics for a total number of tenants
- private @Metric MutableCounterLong numTenants;
+ private @Metric MutableGaugeLong numTenants;
// Metrics for tenant create operation
private @Metric MutableCounterLong numTenantCreates;
private @Metric MutableCounterLong numTenantCreateFails;
@@ -590,8 +590,7 @@ public void incNumSnapshotInfoFails() {
}
public void setNumSnapshotActive(long num) {
- long currVal = numSnapshotActive.value();
- numSnapshotActive.incr(num - currVal);
+ numSnapshotActive.set(num);
}
public void incNumSnapshotActive() {
@@ -599,12 +598,11 @@ public void incNumSnapshotActive() {
}
public void decNumSnapshotActive() {
- numSnapshotActive.incr(-1);
+ numSnapshotActive.decr();
}
public void setNumSnapshotDeleted(long num) {
- long currVal = numSnapshotDeleted.value();
- numSnapshotDeleted.incr(num - currVal);
+ numSnapshotDeleted.set(num);
}
public void incNumSnapshotDeleted() {
@@ -667,7 +665,7 @@ public void incNumTenants() {
}
public void decNumTenants() {
- numTenants.incr(-1);
+ numTenants.decr();
}
public void incNumTenantCreates() {
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMetricsSetters.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMetricsSetters.java
index c5b3db104d2..53c3d57b744 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMetricsSetters.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOMMetricsSetters.java
@@ -55,4 +55,23 @@ public void testSetTotals() {
assertGauge("NumDirs", 4L, rb);
assertGauge("NumFiles", 5L, rb);
}
+
+ @Test
+ public void testSnapshotAndTenantCounts() {
+ metrics = OMMetrics.create(new OzoneConfiguration());
+ metrics.setNumSnapshotActive(5);
+ metrics.setNumSnapshotActive(3);
+ metrics.decNumSnapshotActive();
+ metrics.setNumSnapshotDeleted(1);
+ metrics.setNumSnapshotDeleted(4);
+ metrics.setNumSnapshotDeleted(2);
+ metrics.incNumTenants();
+ metrics.incNumTenants();
+ metrics.decNumTenants();
+
+ MetricsRecordBuilder rb = getMetrics("OMMetrics");
+ assertGauge("NumSnapshotActive", 2L, rb);
+ assertGauge("NumSnapshotDeleted", 2L, rb);
+ assertGauge("NumTenants", 1L, rb);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]