You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fluss.apache.org by ip...@apache.org on 2026/04/22 16:18:33 UTC
(fluss) branch release-0.9 updated: [s3] Propagate path-style-access config from server to client via delegation token (#3165)
This is an automated email from the ASF dual-hosted git repository.
polyzos pushed a commit to branch release-0.9
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/release-0.9 by this push:
new 4942cdaf2 [s3] Propagate path-style-access config from server to client via delegation token (#3165)
4942cdaf2 is described below
commit 4942cdaf21be523b67f6adf952b73eff378c596e
Author: yuxia Luo <lu...@alumni.sjtu.edu.cn>
AuthorDate: Thu Apr 23 00:00:43 2026 +0800
[s3] Propagate path-style-access config from server to client via delegation token (#3165)
Previously, S3DelegationTokenProvider only forwarded region and endpoint
to the client via additionInfos. The path.style.access setting was missing,
causing the client to use virtual-hosted-style addressing (e.g., bucket.host)
instead of path-style (e.g., host/bucket), which fails with S3-compatible
stores like MinIO/RustFS where DNS resolution of virtual-hosted names is
not available.
---
.../java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java b/fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java
index b582e4d35..5c3100c9e 100644
--- a/fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java
+++ b/fluss-filesystems/fluss-fs-s3/src/main/java/org/apache/fluss/fs/s3/token/S3DelegationTokenProvider.java
@@ -52,6 +52,7 @@ public class S3DelegationTokenProvider {
private static final String REGION_KEY = "fs.s3a.region";
private static final String ENDPOINT_KEY = "fs.s3a.endpoint";
+ private static final String PATH_STYLE_ACCESS_KEY = "fs.s3a.path.style.access";
private static final String ROLE_ARN_KEY = "fs.s3a.assumed.role.arn";
private static final String STS_ENDPOINT_KEY = "fs.s3a.assumed.role.sts.endpoint";
@@ -83,7 +84,7 @@ public class S3DelegationTokenProvider {
}
this.additionInfos = new HashMap<>();
- for (String key : Arrays.asList(REGION_KEY, ENDPOINT_KEY)) {
+ for (String key : Arrays.asList(REGION_KEY, ENDPOINT_KEY, PATH_STYLE_ACCESS_KEY)) {
if (conf.get(key) != null) {
additionInfos.put(key, conf.get(key));
}