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]

Reply via email to