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]
