github-actions[bot] commented on code in PR #64009:
URL: https://github.com/apache/doris/pull/64009#discussion_r3449758734


##########
fe/fe-filesystem/fe-filesystem-spi/src/main/java/org/apache/doris/filesystem/spi/S3CompatibleFileSystem.java:
##########
@@ -508,6 +508,15 @@ private static boolean containsGlob(String path) {
         return path.indexOf('*') >= 0 || path.indexOf('?') >= 0;
     }
 
+    private static boolean containsRecursiveGlobMetachar(String path) {
+        for (char c : new char[] {'*', '?', '[', '{', '\\'}) {

Review Comment:
   Restoring the old no-list behavior needs to cover finite deterministic glob 
patterns, not only patterns with no `{` or `[` at all. The PR description 
points to #60414, and that implementation used `S3Util.isDeterministicPattern` 
plus expansion to HEAD concrete keys for cases such as `file{1,2}.csv` and 
non-negated `file[12].csv`, specifically so these paths did not need 
`ListBucket`. With this helper treating `{` and `[` as recursive glob 
metacharacters unconditionally, those same TVF URIs fall through to 
`listObjectsWithOptions` below, so credentials that can 
`HeadObject`/`GetObject` the finite target keys but deny bucket listing still 
fail. Please either port the deterministic expansion/HEAD path with the 
existing max-path guard, or add coverage/documentation showing this narrower 
restore is intentional.



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