rich7420 opened a new pull request, #11408:
URL: https://github.com/apache/ozone/pull/11408

   ## What changes were proposed in this pull request?
   
   For FSO buckets, S3 ListObjects and ListObjectsV2 with `delimiter=/`, an 
empty prefix, and no marker, start-after or continuation token first query 
`ListStatusLight` to find the starting key, then query it again to list the 
root entries.
   
   Start the first shallow-listing batch directly from the bucket root, 
preserving the first entry, ordering, pagination and permission checks. Empty 
buckets and requests with non-empty prefixes or markers retain their existing 
behavior.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-16709
   
   ## How was this patch tested?
   
   - `TestOzoneBucket`: 42 cases passed; 32 fail without the production change.
   - `TestBucketList`: 30 cases passed.
   - Existing `TestListKeysWithFSO` root-listing and shallow-listing 
integration tests: 2 passed.
   - Checkstyle, RAT and client PMD passed.
   - [Fork CI](https://github.com/rich7420/ozone/actions/runs/37126638369) 
passed.
   
   A temporary S3 HTTP/OpenTelemetry probe compared 211 matching requests 
before and after the change. Listing results, pagination and error responses 
matched. OM server spans matched their client RPC spans:
   
   | Request | Before | After |
   |---|---|---|
   | Eligible non-empty FSO root first page | 2 `ListStatusLight` RPCs | 1 
`ListStatusLight` RPC |
   | Empty buckets and prefix/marker controls | Existing RPC counts | Unchanged 
|
   
   26 eligible requests each saved one RPC; total OM RPCs were 1,033 → 1,007. 
Authorization controls used a non-secure mini-cluster with ACL checks and a 
custom authorizer enabled; this was not a Kerberos, Ranger or STS integration 
test. The temporary probe is not included in the patch. The separate 10×10 
flaky-test check has not been run.
   


-- 
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