github-actions[bot] commented on code in PR #69528:
URL: https://github.com/apache/doris/pull/69528#discussion_r4366627104
##########
fe/fe-core/src/main/java/org/apache/doris/tablefunction/S3TableValuedFunction.java:
##########
@@ -89,6 +107,43 @@ public S3TableValuedFunction(Map<String, String>
properties, List<TBrokerFileSta
}
+ private static boolean isRemoteLanceUri(String path) {
+ try {
+ URI uri = new URI(path == null ? "" : path);
Review Comment:
[P2] Preserve SDK-supported spaces in remote Lance paths
With ordinary endpoint/region/credentials and a dataset stored under `sample
data.lance`, `s3("uri"="s3://bucket/sample data.lance", "format"="lance", ...)`
previously reached the remote dataset:
`S3PropertyUtils.validateAndNormalizeUri` returns `s3://` paths unchanged, and
Lance passes them to Rust's URL parser, which [percent-encodes spaces in path
components](https://github.com/servo/rust-url/blob/v2.5.8/url/src/parser.rs#L1138-L1165).
The new `java.net.URI` constructor throws on the raw space, so this guard
rejects the query before metadata loading even though the SDK parses it
successfully as remote storage. This also affects `file()` when it delegates to
S3. Preserve SDK-supported path spelling while validating the scheme/authority
against local fallback, and replace the new `s3://bucket/bad path` rejection
expectation with positive raw-space/escaped-space metadata and scan coverage.
--
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]