Uh oh!
There was an error while loading. Please reload this page.
[fix](s3) preserve explicit path style for object storage - #64034
Conversation
sollhui
commented
Jun 2, 2026
run buildall |
bd3c424 to
fdf08ceComparesollhui
commented
Jun 2, 2026
run buildall |
hello-stephen
commented
Jun 2, 2026
FE UT Coverage ReportIncrement line coverage `` 🎉 |
hello-stephen
commented
Jun 2, 2026
TPC-H: Total hot run time: 29313 ms |
hello-stephen
commented
Jun 2, 2026
FE UT Coverage ReportIncrement line coverage `` 🎉 |
hello-stephen
commented
Jun 2, 2026
TPC-DS: Total hot run time: 169466 ms |
sollhui
commented
Jun 3, 2026
/review |
There was a problem hiding this comment.
Review result: request changes.
I found one correctness issue in the path-style preservation logic: the change preserves only the canonical use_path_style key, but still overrides the supported s3.path-style-access alias by injecting use_path_style=false. This affects COS, OBS, and OSS provider/translation paths.
Critical checkpoint conclusions:
- Goal/test: The PR aims to preserve explicit path-style configuration for OSS/COS/OBS. It covers canonical use_path_style=true, but not the existing s3.path-style-access alias, so the goal is incomplete.
- Scope/focus: The code change is small and focused.
- Concurrency/lifecycle/config/persistence/transactions/data writes: Not applicable to this filesystem property mapping change.
- Parallel paths: The same provider/toS3Props pattern exists for COS, OBS, and OSS and needs the same fix in all affected paths.
- Test coverage: Tests cover canonical use_path_style but miss the alias regression; please add alias coverage for provider-created storage and/or toS3Props.
- Observability/performance: No additional observability or performance concerns found for this change.
User focus: No additional user-provided review focus was specified.
Uh oh!
There was an error while loading. Please reload this page.
fdf08ce to
ea84c38Comparesollhui
commented
Jun 3, 2026
run buildall |
sollhui
commented
Jun 3, 2026
/review |
There was a problem hiding this comment.
No blocking issues found in the current PR diff.
Critical checkpoint conclusions:
- Goal/test coverage: The PR preserves explicit path-style settings for COS/OBS/OSS provider creation and toS3Props conversion, including the s3.path-style-access alias. Added unit tests cover direct use_path_style, alias handling, and provider-created S3ObjStorage behavior for all three providers.
- Scope/focus: The implementation is small and focused on avoiding insertion of the default use_path_style=false when either supported path-style key is already present.
- Concurrency/lifecycle: No new shared mutable state, lifecycle management, or lock behavior is introduced.
- Configuration/compatibility: No new config item or storage/protocol format is introduced. Existing default behavior remains false when neither path-style key is provided, while explicit caller values are preserved.
- Parallel paths: Checked COS, OBS, and OSS provider paths and their toS3Props helpers. The previously raised alias concern is addressed in this head and was not duplicated.
- Security/threat-model: Object storage endpoints and credentials remain admin-provided external connection properties under the repository threat model; this change does not add a new trust boundary or broaden access.
- Observability/performance: No additional observability is needed for this config-preservation path; performance impact is negligible.
User focus: No additional user-provided review focus was specified.
Testing: Not run locally because thirdparty/installed/bin/protoc is missing, and FE instructions require that prerequisite before FE builds/tests.
hello-stephen
commented
Jun 3, 2026
TPC-H: Total hot run time: 29609 ms |
hello-stephen
commented
Jun 3, 2026
TPC-DS: Total hot run time: 170013 ms |
hello-stephen
commented
Jun 3, 2026
FE Regression Coverage ReportIncrement line coverage |
2 similar comments
hello-stephen
commented
Jun 3, 2026
FE Regression Coverage ReportIncrement line coverage |
hello-stephen
commented
Jun 3, 2026
FE Regression Coverage ReportIncrement line coverage |
hello-stephen
commented
Jun 3, 2026
FE Regression Coverage ReportIncrement line coverage |
PR approved by at least one committer and no changes requested. |
What problem does this PR solve?
Related PR: #62023
OSS/COS/OBS filesystem providers translated their storage properties to S3-compatible properties, but always overwrote use_path_style with false. As a result, a user-provided use_path_style=true was lost before S3FileSystem and S3ObjStorage consumed the configuration. This made path-style behavior impossible to preserve through the provider path and could hide invalid path-style URL cases.
This change keeps the existing OSS/COS/OBS default of use_path_style=false when the option is not provided, but preserves an explicit user value by using putIfAbsent during provider creation and property translation. Unit tests cover both the translation helper and the final provider-created S3ObjStorage configuration.