Skip to content

Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.#84011

Merged
alexey-milovidov merged 14 commits intomasterfrom
sync-disks
Jul 28, 2025
Merged

Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.#84011
alexey-milovidov merged 14 commits intomasterfrom
sync-disks

Conversation

@alexey-milovidov
Copy link
Member

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

Implement AWS S3 authentication with an explicitly provided IAM role. Implement OAuth for GCS. These features were recently only available in ClickHouse Cloud and are now open-sourced. Synchronize some interfaces such as serialization of the connection parameters for object storages.

@clickhouse-gh
Copy link
Contributor

clickhouse-gh bot commented Jul 18, 2025

Workflow [PR], commit [6cbba69]

@clickhouse-gh clickhouse-gh bot added the pr-improvement Pull request with some product improvements label Jul 18, 2025
{
if (!sts_endpoint_override.empty())
{
endpoint.SetURL(sts_endpoint_override);
Copy link
Contributor

Choose a reason for hiding this comment

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

NOTE: This ends up doing a POST to this URL without the Action parameter. You're only appending ?Action=AssumeRole&Version=2011-06-15 below on the non-overridden endpoint.

I think it's important that those query params get used regardless of override vs. not. The params aren't technically part of the "endpoint" (which should just be the base URL imho).

@alexey-milovidov alexey-milovidov self-assigned this Jul 28, 2025
@alexey-milovidov alexey-milovidov merged commit 51f0b57 into master Jul 28, 2025
120 of 125 checks passed
@alexey-milovidov alexey-milovidov deleted the sync-disks branch July 28, 2025 08:05
@robot-clickhouse-ci-1 robot-clickhouse-ci-1 added the pr-synced-to-cloud The PR is synced to the cloud repo label Jul 28, 2025
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Jul 29, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/gluten that referenced this pull request Jul 29, 2025
baibaichen pushed a commit to Kyligence/gluten that referenced this pull request Jul 29, 2025
baibaichen pushed a commit to apache/incubator-gluten that referenced this pull request Jul 29, 2025
* [GLUTEN-1632][CH]Daily Update Clickhouse Version (20250729)

* Fix build due to ClickHouse/ClickHouse#76802

* Fix build due to ClickHouse/ClickHouse#81837

* Fix build due to ClickHouse/ClickHouse#84011

* Fix gtest due to ClickHouse/ClickHouse#83599

---------

Co-authored-by: kyligence-git <gluten@kyligence.io>
Co-authored-by: Chang chen <chenchang@apache.com>
kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Jul 29, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Jul 30, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Jul 31, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
tx->object_storage.removeObjectsIfExist(tx->metadata_storage.getStorageObjects(path));
if (!tx->object_storage.isPlain())
{
auto maybe_blobs = tx->metadata_transaction->tryGetBlobsFromTransactionIfExists(path);
Copy link
Member

Choose a reason for hiding this comment

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

This is quite important place.
Could you please explain this changes.

Copy link
Member Author

Choose a reason for hiding this comment

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

I just picked up the change from the private repository.

Copy link
Member

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Let me explain a bit, I hope it will help you

When this code is run, metadata_transaction is empty. metadata_transaction is build inside commit after disk operations are executed.
maybe_blobs is always nullopt here.

Copy link
Member

@CheSema CheSema Aug 5, 2025

Choose a reason for hiding this comment

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

I was not right here.
This only confirms how difficult the place is.

Use case:

open disk tx
  write A (blob_1)
commit disk tx

open disk tx
  write A (blob_2)
  write A (blob_3)
commit disk tc

Before your changes: blob_2 is left orphan
After your changes: blob_1 is left orphan

Both are not correct.

  • this code should not be changes in such big PR.
  • this code should not be change without proper review and discussion.
  • changes in this code should be tested

kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 1, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 2, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
kyligence-git pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 3, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 7, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 8, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 11, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 12, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 13, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 14, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 15, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 16, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
baibaichen pushed a commit to Kyligence/ClickHouse that referenced this pull request Aug 18, 2025
Fix rebase issue:
- 20250806 ClickHouse#84854
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
zvonand pushed a commit to Altinity/ClickHouse that referenced this pull request Aug 29, 2025
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
zvonand pushed a commit to Altinity/ClickHouse that referenced this pull request Aug 31, 2025
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
zvonand pushed a commit to Altinity/ClickHouse that referenced this pull request Sep 2, 2025
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
lgbo-ustc pushed a commit to bigo-sg/ClickHouse that referenced this pull request Sep 17, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
zzcclp pushed a commit to Kyligence/ClickHouse that referenced this pull request Dec 19, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
(cherry picked from commit 91a244c)
zzcclp pushed a commit to Kyligence/ClickHouse that referenced this pull request Dec 25, 2025
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
(cherry picked from commit 91a244c)
zzcclp pushed a commit to Kyligence/ClickHouse that referenced this pull request Jan 26, 2026
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
(cherry picked from commit 91a244c)
(cherry picked from commit bf02481)
zzcclp pushed a commit to Kyligence/ClickHouse that referenced this pull request Jan 27, 2026
Fix rebase issue:
- 20250729 ClickHouse#84011
- 20250318 ClickHouse#77257

(cherry picked from commit e7061da)
(cherry picked from commit 91a244c)
(cherry picked from commit bf02481)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-improvement Pull request with some product improvements pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants