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 827727c2c2f3..a7c27396da45 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 @@ -48,6 +48,7 @@ public class OMMetrics { private @Metric MutableCounterLong numVolumeInfos; private @Metric MutableCounterLong numVolumeCheckAccesses; private @Metric MutableCounterLong numBucketCreates; + private @Metric MutableCounterLong numFSOBucketCreates; private @Metric MutableCounterLong numVolumeDeletes; private @Metric MutableCounterLong numBucketInfos; private @Metric MutableCounterLong numBucketUpdates; @@ -306,6 +307,10 @@ public void incNumBucketCreates() { numBucketCreates.incr(); } + public void incNumFSOBucketCreates() { + numFSOBucketCreates.incr(); + } + public void incNumBucketInfos() { numBucketOps.incr(); numBucketInfos.incr(); @@ -629,6 +634,11 @@ public long getNumBucketCreates() { return numBucketCreates.value(); } + @VisibleForTesting + public long getNumFSOBucketCreates() { + return numFSOBucketCreates.value(); + } + @VisibleForTesting public long getNumBucketInfos() { return numBucketInfos.value(); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java index b90e10472748..b1b52f26f9a9 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java @@ -149,7 +149,9 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, } else { omBucketInfo = OmBucketInfo.getFromProtobuf(bucketInfo); } - + if (omBucketInfo.getBucketLayout().isFileSystemOptimized()) { + omMetrics.incNumFSOBucketCreates(); + } AuditLogger auditLogger = ozoneManager.getAuditLogger(); OzoneManagerProtocolProtos.UserInfo userInfo = getOmRequest().getUserInfo(); diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java index f3dd34ca07ad..3dbddd7deaf5 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/request/bucket/TestOMBucketCreateRequestWithFSO.java @@ -45,11 +45,15 @@ public void testValidateAndUpdateCacheWithFSO() throws Exception { String volumeName = UUID.randomUUID().toString(); String bucketName = UUID.randomUUID().toString(); + Assert.assertEquals(0, omMetrics.getNumFSOBucketCreates()); + OMBucketCreateRequest omBucketCreateRequest = doPreExecute(volumeName, bucketName); doValidateAndUpdateCache(volumeName, bucketName, omBucketCreateRequest.getOmRequest()); + + Assert.assertEquals(1, omMetrics.getNumFSOBucketCreates()); } private OMBucketCreateRequest doPreExecute(String volumeName,