Skip to content

Add pathStyleAccess to AwsStorageConfigInfo #2012

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jul 16, 2025
Merged

Conversation

dimas-b
Copy link
Contributor

@dimas-b dimas-b commented Jul 8, 2025

This change allows configuring the "path-style" access mode in S3 clients (both in Polaris Servers and Iceberg REST Catalog API clients).

This change is applicable both to AWS storage and to non-AWS S3-compatible storage (#1530).

The Management API change is backward-compatible with clients lenient to unknown JSON properties.

Includes a fix to AWS config object round-trip via generated API classes.

Dev ML discussion: https://lists.apache.org/thread/oxy2yd4mbq06zr4z57lfptgy95c3lyhb

}

public AwsStorageConfigurationInfo(
@Nonnull StorageType storageType,
@Nonnull List<String> allowedLocations,
@Nonnull String roleARN,
@Nullable String region) {
this(storageType, allowedLocations, roleARN, null, region, null, null);
this(storageType, allowedLocations, roleARN, null, region, null, null, false);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could use the default here, or just leave it null to leverage the default used in orElse. Better not to proliferate the constants around like this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changed to use PATH_STYLE_ACCESS_DEFAULT

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that we have a default at the API level, is this actually nullable?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to remove the API default.

snazy
snazy previously approved these changes Jul 9, 2025
@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Jul 9, 2025
singhpk234
singhpk234 previously approved these changes Jul 9, 2025
Copy link
Contributor

@singhpk234 singhpk234 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

@dimas-b
Copy link
Contributor Author

dimas-b commented Jul 9, 2025

I had to remove one commit (discussed in the API yaml comment thread). PTAL.

Copy link
Contributor

@eric-maynard eric-maynard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's clarify if this is a breaking change (does it need to target 2.0? Go into API version 2?) and plan accordingly before merging.

@github-project-automation github-project-automation bot moved this from Ready to merge to PRs In Progress in Basic Kanban Board Jul 10, 2025
snazy
snazy previously approved these changes Jul 10, 2025
Copy link
Member

@snazy snazy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dimas-b
Copy link
Contributor Author

dimas-b commented Jul 14, 2025

@eric-maynard : I believe I addressed your backward-compatibility concern in the latest push. Could you review again?

@dimas-b dimas-b force-pushed the s3-path-style branch 2 times, most recently from 6157bc0 to 85bbabe Compare July 15, 2025 16:27
dimas-b added 3 commits July 15, 2025 19:03
This change allows configuring the "path-style" access
mode in S3 clients (both in Polaris Servers and Iceberg
REST Catalog API clients).

This change is applicable both to AWS storage and to
non-AWS S3-compatible storage (apache#1530).

The Management API change is backward-compatible.
eric-maynard
eric-maynard previously approved these changes Jul 16, 2025
@github-project-automation github-project-automation bot moved this from PRs In Progress to Ready to merge in Basic Kanban Board Jul 16, 2025
type: boolean
description: >-
Whether S3 requests to files in this catalog should use 'path-style addressing for buckets'.
Default: false.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: With the default in the spec, I don't think we need the default in the doc. Other similar variables don't have it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed 👍

@dimas-b dimas-b merged commit 987c554 into apache:main Jul 16, 2025
12 checks passed
@dimas-b dimas-b deleted the s3-path-style branch July 16, 2025 15:46
@github-project-automation github-project-automation bot moved this from Ready to merge to Done in Basic Kanban Board Jul 16, 2025
snazy added a commit to snazy/polaris that referenced this pull request Jul 17, 2025
adam-christian-software pushed a commit to adam-christian-software/polaris that referenced this pull request Jul 18, 2025
* Add `pathStyleAccess` to AwsStorageConfigInfo

This change allows configuring the "path-style" access
mode in S3 clients (both in Polaris Servers and Iceberg
REST Catalog API clients).

This change is applicable both to AWS storage and to
non-AWS S3-compatible storage (apache#1530).
snazy added a commit that referenced this pull request Jul 21, 2025
…ess (#2127)

This change adds support for endpoint, sts-endpoint, path-style-access to the Polaris Python client.

Amends #1913 and #2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants