This is an automated email from the ASF dual-hosted git repository.
siyao 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 3856363126 HDDS-8798. Increment NumSnapshotDeleted and
NumSnapshotListFails metrics appropriately (#4883)
3856363126 is described below
commit 3856363126cb6c1e3f05e8af0ba76f01feec2b24
Author: Hemant Kumar <[email protected]>
AuthorDate: Fri Jun 16 00:53:46 2023 -0700
HDDS-8798. Increment NumSnapshotDeleted and NumSnapshotListFails metrics
appropriately (#4883)
---
.../org/apache/hadoop/ozone/om/TestOmMetrics.java | 21 ++++++++----
.../org/apache/hadoop/ozone/om/OzoneManager.java | 37 ++++++++++------------
.../request/snapshot/OMSnapshotDeleteRequest.java | 1 +
.../snapshot/TestOMSnapshotDeleteRequest.java | 1 +
4 files changed, 33 insertions(+), 27 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 712b802df8..e24dc9dc88 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
@@ -22,6 +22,8 @@ import static
org.apache.hadoop.ozone.security.acl.OzoneObj.ResourceType.VOLUME;
import static org.apache.hadoop.ozone.security.acl.OzoneObj.StoreType.OZONE;
import static org.apache.hadoop.test.MetricsAsserts.assertCounter;
import static org.apache.hadoop.test.MetricsAsserts.getMetrics;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
@@ -64,7 +66,6 @@ import org.apache.hadoop.ozone.security.acl.OzoneObj;
import org.apache.hadoop.ozone.security.acl.OzoneObjInfo;
import org.assertj.core.util.Lists;
import org.junit.After;
-import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -392,8 +393,7 @@ public class TestOmMetrics {
@Test
public void testSnapshotOps() throws Exception {
- // This tests needs enough datanodes to allocate the
- // blocks for the keys.
+ // This tests needs enough dataNodes to allocate the blocks for the keys.
clusterBuilder.setNumDatanodes(3);
startCluster();
@@ -421,7 +421,6 @@ public class TestOmMetrics {
assertCounter("NumSnapshotCreates", 1L, omMetrics);
assertCounter("NumSnapshotListFails", 0L, omMetrics);
assertCounter("NumSnapshotLists", 0L, omMetrics);
-
assertCounter("NumSnapshotActive", 1L, omMetrics);
assertCounter("NumSnapshotDeleted", 0L, omMetrics);
assertCounter("NumSnapshotReclaimed", 0L, omMetrics);
@@ -443,6 +442,14 @@ public class TestOmMetrics {
assertCounter("NumSnapshotActive", 2L, omMetrics);
assertCounter("NumSnapshotCreates", 2L, omMetrics);
assertCounter("NumSnapshotLists", 1L, omMetrics);
+ assertCounter("NumSnapshotListFails", 0L, omMetrics);
+
+ // List snapshot: invalid bucket case.
+ assertThrows(OMException.class, () -> writeClient.listSnapshot(volumeName,
+ "invalidBucket", null, null, Integer.MAX_VALUE));
+ omMetrics = getMetrics("OMMetrics");
+ assertCounter("NumSnapshotLists", 2L, omMetrics);
+ assertCounter("NumSnapshotListFails", 1L, omMetrics);
// restart OM
cluster.restartOzoneManager();
@@ -562,18 +569,18 @@ public class TestOmMetrics {
new OzoneAcl(IAccessAuthorizer.ACLIdentityType.USER, "ozoneuser",
IAccessAuthorizer.ACLType.ALL, ACCESS));
- Assert.assertEquals(initialValue + 1, metrics.getNumAddAcl());
+ assertEquals(initialValue + 1, metrics.getNumAddAcl());
// Test setAcl
initialValue = metrics.getNumSetAcl();
objectStore.setAcl(volObj, acls);
- Assert.assertEquals(initialValue + 1, metrics.getNumSetAcl());
+ assertEquals(initialValue + 1, metrics.getNumSetAcl());
// Test removeAcl
initialValue = metrics.getNumRemoveAcl();
objectStore.removeAcl(volObj, acls.get(0));
- Assert.assertEquals(initialValue + 1, metrics.getNumRemoveAcl());
+ assertEquals(initialValue + 1, metrics.getNumRemoveAcl());
}
/**
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index 1e8cecd00b..4cd062eb92 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -1759,14 +1759,13 @@ public final class OzoneManager extends
ServiceRuntimeInfoImpl
SnapshotInfo.SnapshotStatus snapshotStatus =
info.getSnapshotStatus();
- if (snapshotStatus.equals(SnapshotInfo
- .SnapshotStatus.SNAPSHOT_ACTIVE)) {
+ if (snapshotStatus == SnapshotInfo.SnapshotStatus.SNAPSHOT_ACTIVE) {
activeGauge++;
- } else if (snapshotStatus.equals(SnapshotInfo
- .SnapshotStatus.SNAPSHOT_DELETED)) {
+ } else if (snapshotStatus ==
+ SnapshotInfo.SnapshotStatus.SNAPSHOT_DELETED) {
deletedGauge++;
- } else if (snapshotStatus.equals(SnapshotInfo
- .SnapshotStatus.SNAPSHOT_RECLAIMED)) {
+ } else if (snapshotStatus ==
+ SnapshotInfo.SnapshotStatus.SNAPSHOT_RECLAIMED) {
reclaimedGauge++;
}
}
@@ -2831,28 +2830,26 @@ public final class OzoneManager extends
ServiceRuntimeInfoImpl
public List<SnapshotInfo> listSnapshot(
String volumeName, String bucketName, String snapshotPrefix,
String prevSnapshot, int maxListResult) throws IOException {
- if (isAclEnabled) {
- omMetadataReader.checkAcls(ResourceType.BUCKET, StoreType.OZONE,
- ACLType.LIST, volumeName, bucketName, null);
- }
- boolean auditSuccess = true;
+ metrics.incNumSnapshotLists();
Map<String, String> auditMap = buildAuditMap(volumeName);
auditMap.put(OzoneConsts.BUCKET, bucketName);
try {
- metrics.incNumSnapshotLists();
- return metadataManager.listSnapshot(volumeName, bucketName,
- snapshotPrefix, prevSnapshot, maxListResult);
+ if (isAclEnabled) {
+ omMetadataReader.checkAcls(ResourceType.BUCKET, StoreType.OZONE,
+ ACLType.LIST, volumeName, bucketName, null);
+ }
+ List<SnapshotInfo> snapshotInfoList =
+ metadataManager.listSnapshot(volumeName, bucketName,
+ snapshotPrefix, prevSnapshot, maxListResult);
+
+ AUDIT.logReadSuccess(buildAuditMessageForSuccess(
+ OMAction.LIST_SNAPSHOT, auditMap));
+ return snapshotInfoList;
} catch (Exception ex) {
metrics.incNumSnapshotListFails();
- auditSuccess = false;
AUDIT.logReadFailure(buildAuditMessageForFailure(OMAction.LIST_SNAPSHOT,
auditMap, ex));
throw ex;
- } finally {
- if (auditSuccess) {
- AUDIT.logReadSuccess(buildAuditMessageForSuccess(
- OMAction.LIST_SNAPSHOT, auditMap));
- }
}
}
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
index 3a13339a40..04b405192a 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotDeleteRequest.java
@@ -221,6 +221,7 @@ public class OMSnapshotDeleteRequest extends
OMClientRequest {
final String snapshotPath = snapshotInfo.getSnapshotPath();
if (exception == null) {
omMetrics.decNumSnapshotActive();
+ omMetrics.incNumSnapshotDeleted();
LOG.info("Deleted snapshot '{}' under path '{}'",
snapshotName, snapshotPath);
} else {
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/snapshot/TestOMSnapshotDeleteRequest.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/snapshot/TestOMSnapshotDeleteRequest.java
index 9bd230a34b..035bf5b860 100644
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/snapshot/TestOMSnapshotDeleteRequest.java
+++
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/snapshot/TestOMSnapshotDeleteRequest.java
@@ -219,6 +219,7 @@ public class TestOMSnapshotDeleteRequest {
// Expected -1 because no snapshot was created before.
assertEquals(0, omMetrics.getNumSnapshotCreates());
assertEquals(-1, omMetrics.getNumSnapshotActive());
+ assertEquals(1, omMetrics.getNumSnapshotDeleted());
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]