Skip to content

Antalya 26.8: Cache vended credentials for REST catalogs - #2382

Open
zvonand wants to merge 2 commits into
antalya-26.8from
feature/antalya-26.8/ClickHouse-ClickHouse-pr-107960
Open

zvonand wants to merge 2 commits into
antalya-26.8from
feature/antalya-26.8/ClickHouse-ClickHouse-pr-107960

Conversation

@zvonand

@zvonand zvonand commented Sep 15, 2026

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Improvement

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

Add option to cache vended credentials for REST catalogs; add a setting vended_credentials_cache_ttl (seconds). 300 by default. 0 means no caching.


Workflow [PR]
Sync PR [sync-upstream/pr/107960] (ClickHouse#107960 by @zvonand).

Cherry-picked from ClickHouse#107960.


Now, new vended credentials are requested on each metadata request. This PR adds an (optional) cache for creds with configurable TTL.

…solution in next commit)

---
Original cherry-pick message follows:

Merge c1e3472 into 4a10b4a

# Conflicts:
#	src/Disks/DiskObjectStorage/ObjectStorages/AzureBlobStorage/AzureObjectStorage.cpp
#	src/Disks/IO/ReadBufferFromAzureBlobStorage.cpp
#	src/Disks/IO/ReadBufferFromAzureBlobStorage.h
Kept the PR's credential-refresh logic and translated it to the shapes
present on antalya-26.8:

* ReadBufferFromAzureBlobStorage on antalya-26.8 has no lazy, once_flag
  guarded getBlobClient() accessor (upstream-only refactor), so the new
  refresh/retry paths use the existing eager `blob_client` member.
* AzureObjectStorage::removeObjectImpl / removeObjectsBatchIfExists on
  antalya-26.8 have no `successful_objects` out-parameter (upstream-only),
  so the re-indented block keeps its bookkeeping without it.

Adapted: ReadBufferFromAzureBlobStorage refresh paths use antalya-26.8's eager `blob_client` member instead of upstream's lazy `getBlobClient()` accessor
Adapted: AzureObjectStorage delete paths drop the `successful_objects` out-parameter, which does not exist on antalya-26.8
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.8 Session label (releasy session config) ai-resolved Port conflict auto-resolved by Claude labels Sep 15, 2026
@zvonand zvonand mentioned this pull request Sep 15, 2026
27 tasks
@github-actions

Copy link
Copy Markdown

Workflow [PR], commit [45fb92e]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-resolved Port conflict auto-resolved by Claude antalya-26.8 Session label (releasy session config) releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant