andyhuangdev opened a new pull request, #11821: URL: https://github.com/apache/ozone/pull/11821
## What changes were proposed in this pull request? A single DeleteKeys request can list the same key multiple times, causing OM to release its quota repeatedly. For empty keys, this can make bucket namespace usage negative and allow namespace quota limits to be exceeded. On FSO buckets, different path spellings can resolve to the same entry. This patch deduplicates successfully validated entries using the DB key for OBS and LEGACY buckets, and the parent object ID plus file name for FSO buckets. Each entry releases quota once, while duplicate entries remain successful in the response. ACL and file status checks run before deduplication. Regression tests cover repeated keys, FSO directories, and FSO path aliases, including persisted bucket usage and delete metrics. Previously affected buckets still require quota repair. ## What is the link to the Apache JIRA [HDDS-16773](https://issues.apache.org/jira/browse/HDDS-16773) ## How was this patch tested? Three regression tests failed before the fix and passed afterward. All 32 tests in the following suites passed: - TestOMKeysDeleteRequest - TestOMKeysDeleteRequestWithFSO - TestOMKeysDeleteResponse - TestOMKeysDeleteResponseWithFSO The repository checkstyle script and git diff --check also passed. -- 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]
