[
https://issues.apache.org/jira/browse/HDDS-4631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-4631:
---------------------------------
Labels: pull-request-available (was: )
> Fixed client set quota with 0
> -----------------------------
>
> Key: HDDS-4631
> URL: https://issues.apache.org/jira/browse/HDDS-4631
> Project: Hadoop Distributed Data Store
> Issue Type: Sub-task
> Reporter: mingchao zhao
> Assignee: mingchao zhao
> Priority: Major
> Labels: pull-request-available
>
> Currently setting Quota is invalid if set to 0. It's actually going to be set
> to -1.
> {code:java}
> store.getVolume(volumeName).getBucket(bucketName).setQuota(
> OzoneQuota.parseQuota("0GB", 0));
> Assert.assertEquals(-1, bucket.getQuotaInBytes());
> Assert.assertEquals(-1, bucket.getQuotaInNamespace());
> {code}
> This behavior is actually incorrect, and we should actually support quota
> setting to 0:
> {code:java}
> store.getVolume(volumeName).getBucket(bucketName).setQuota(
> OzoneQuota.parseQuota("0GB", 0));
> Assert.assertEquals(0, bucket.getQuotaInBytes());
> Assert.assertEquals(0, bucket.getQuotaInNamespace());
> {code}
> This problem occurs because the original client quota type is long. If the
> user does not specify quota, the default value for this field is 0.
> A backend validation fails to verify that the user did not specify quota or
> set quoat to 0, since both actions are passed to the backend to be 0.
> So it would be more appropriate to change the long to a string. If the user
> does not specify quota, it is null. It's easier to judge.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]