rjgoyln opened a new pull request, #11887: URL: https://github.com/apache/ozone/pull/11887
## What changes are proposed in this pull request? Before HDDS-17240, a full quota repair (`ozone repair om quota start` without `--buckets`, or the `QUOTA` upgrade action) wrote each converted volume under its bare name (`vol`) instead of its volume table key (`/vol`). HDDS-17240 fixed the write but left the existing rows. Volume lookups do not read these rows, but the volume table is fully cached, so after a restart they show up wherever the whole table is iterated: - `ozone sh volume list --all` lists the volume twice - `VolumeUtilizationMetrics` emits two records for it - the row stays listed after the volume is deleted This patch removes these rows in the volume part of the full quota repair. Doing it in the Ratis request keeps every OM in the same state. A cluster that has already finalized the `QUOTA` upgrade action needs one `ozone repair om quota start` without `--buckets` to clean up. With no buckets, the repair stops with `BUCKET_NOT_FOUND` before submitting the request, so the rows stay until a bucket exists. ## What is the link to the Apache JIRA? https://issues.apache.org/jira/browse/HDDS-17610 ## How was this patch tested? - New `testOldVolumeQuotaRepairRemovesBareVolumeNameRows` checks the cache, RocksDB and `listVolumes`, and fails on master. - Volume request/response suites and `TestQuotaRepairTask` (65 tests), `TestOzoneRepairShell`, checkstyle and PMD pass. Generated-by: Claude Code (Opus 5.5) -- 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]
