github-actions[bot] commented on code in PR #64009:
URL: https://github.com/apache/doris/pull/64009#discussion_r3449474018
##########
fe/fe-filesystem/fe-filesystem-spi/src/main/java/org/apache/doris/filesystem/spi/S3CompatibleFileSystem.java:
##########
@@ -917,6 +926,25 @@ public GlobListing globListWithLimit(Location path, String
startAfter, long maxB
String keyPattern = parsed.key();
String base = uriBase(uri, parsed);
Review Comment:
This still leaves bounded exact-path callers on the ListObjects path. For
example, S3 streaming jobs pass positive limits (`getNextOffset` uses
`jobProps.getS3BatchBytes()`/`getS3BatchFiles()`, and `fetchRemoteMeta` uses
`1, 1`), so a job pointed at a single exact `s3://bucket/key` still skips this
HEAD branch and requires `ListBucket`, even though the credentials may be
allowed to `HeadObject`/`GetObject` that key. Exact non-glob paths have at most
one match, so the HEAD branch can also handle positive limits and a
`startAfter` cursor by comparing the returned key with the cursor and then
returning either the object or an exhausted empty page. Please extend the
exact-path optimization beyond the unlimited/no-cursor case and add a unit test
such as `maxFiles=1` or a non-empty `startAfter` exact path that verifies no
listing happens.
--
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]