Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.#84011
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.#84011alexey-milovidov merged 14 commits intomasterfrom
Conversation
| { | ||
| if (!sts_endpoint_override.empty()) | ||
| { | ||
| endpoint.SetURL(sts_endpoint_override); |
There was a problem hiding this comment.
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).
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
* [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>
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
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); |
There was a problem hiding this comment.
This is quite important place.
Could you please explain this changes.
There was a problem hiding this comment.
I just picked up the change from the private repository.
There was a problem hiding this comment.
I do not see this in private.
Check this
https://github.com/ClickHouse/clickhouse-private/commit/ab882425ac04fa96f814a7db2a21ffb970f6c10d#r163325404
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250806 ClickHouse#84854 - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
Implement AWS S3 authentication with an explicitly provided IAM role; implement OAuth for GCS.
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da) (cherry picked from commit 91a244c)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da) (cherry picked from commit 91a244c)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da) (cherry picked from commit 91a244c) (cherry picked from commit bf02481)
Fix rebase issue: - 20250729 ClickHouse#84011 - 20250318 ClickHouse#77257 (cherry picked from commit e7061da) (cherry picked from commit 91a244c) (cherry picked from commit bf02481)
Changelog category (leave one):
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.