sadanand48 commented on code in PR #4165:
URL: https://github.com/apache/ozone/pull/4165#discussion_r1065624546
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java:
##########
@@ -195,14 +195,24 @@ public boolean checkQuotaBytesValid(OMMetadataManager
metadataManager,
return false;
}
+ boolean isBucketQuotaSet = true;
List<OmBucketInfo> bucketList = metadataManager.listBuckets(
volumeName, null, null, Integer.MAX_VALUE);
for (OmBucketInfo bucketInfo : bucketList) {
long nextQuotaInBytes = bucketInfo.getQuotaInBytes();
if (nextQuotaInBytes > OzoneConsts.QUOTA_RESET) {
totalBucketQuota += nextQuotaInBytes;
+ } else {
+ isBucketQuotaSet = false;
Review Comment:
Can put a break statement here to optimize
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java:
##########
@@ -388,6 +388,15 @@ public boolean checkQuotaBytesValid(OMMetadataManager
metadataManager,
long quotaInBytes = omBucketInfo.getQuotaInBytes();
long volumeQuotaInBytes = omVolumeArgs.getQuotaInBytes();
+ // When volume quota is set, then its mandatory to have bucket quota
+ if (volumeQuotaInBytes > 0) {
+ if (quotaInBytes <= 0) {
Review Comment:
Can we specify the quota parameter during bucket creation? If not it might
fail.
##########
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/volume/OMVolumeSetQuotaRequest.java:
##########
@@ -195,14 +195,24 @@ public boolean checkQuotaBytesValid(OMMetadataManager
metadataManager,
return false;
}
+ boolean isBucketQuotaSet = true;
List<OmBucketInfo> bucketList = metadataManager.listBuckets(
volumeName, null, null, Integer.MAX_VALUE);
for (OmBucketInfo bucketInfo : bucketList) {
long nextQuotaInBytes = bucketInfo.getQuotaInBytes();
if (nextQuotaInBytes > OzoneConsts.QUOTA_RESET) {
totalBucketQuota += nextQuotaInBytes;
+ } else {
+ isBucketQuotaSet = false;
}
}
+
+ if (!isBucketQuotaSet) {
+ throw new OMException("Can not set volume quota as some of bucket " +
Review Comment:
how about "Cannot set volume quota on volume {volumeName} as some of the
buckets in this volume have no quota set"
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]