Repository navigation
fix(quota): accept unavailable bucket usage - #397
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues
Refs rustfs/backlog#2951 and rustfs/rustfs#8832.
Summary of Changes
RustFS can return size: null when bucket usage is unavailable. The quota PUT already succeeds, but rc rejects the response as an invalid u64 and exits before SNW-110 can test extraction. Accept unavailable usage in the admin model, display unknown in text output, and preserve null in JSON. Known zero and positive usage keep their existing values.
Verification
Impact
BucketQuota.size becomes Option. JSON usage and usageHuman can be null; successful numeric responses keep their existing shape. This fixes set, info and clear against servers that report unavailable usage. Functional SNW-110 acceptance requires installing the updated rc binary on the runner.
Additional Notes
Sequential contract and failure-path reviews covered deserialization, all three quota operations, unknown versus zero, and output compatibility. Revert this commit to restore the previous response handling.