Antalya 26.5: 26.1 Antalya port - improvements for cluster requests by zvonand · Pull Request #1953 · Altinity/ClickHouse · GitHub
Skip to content

Antalya 26.5: 26.1 Antalya port - improvements for cluster requests#1953

Open
zvonand wants to merge 3 commits into
antalya-26.5from
feature/antalya-26.5/pr-1747
Open

Antalya 26.5: 26.1 Antalya port - improvements for cluster requests#1953
zvonand wants to merge 3 commits into
antalya-26.5from
feature/antalya-26.5/pr-1747

Conversation

@zvonand

@zvonand zvonand commented Jun 24, 2026

Copy link
Copy Markdown
Member

Auto-ported prerequisites: RelEasy detected that the requested port depended on PR(s) not yet on the target branch and auto-ported them first (1 PR(s) added). Reviewers: please confirm the prereq scope is appropriate.

Changelog category (leave one):

  • New Feature

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

Frontports for Antalya 26.1

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • All with Aarch64
  • All Regression
  • Disable CI Cache

Regression jobs to run:

  • Fast suites (mostly <1h)
  • Aggregate Functions (2h)
  • Alter (1.5h)
  • Benchmark (30m)
  • ClickHouse Keeper (1h)
  • Iceberg (2h)
  • LDAP (1h)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

Combined port of 2 PR(s) (group pr-1747). Cherry-picked from #1414, #1747.

zvonand added 3 commits June 25, 2026 00:07
…next commit)

---
Original cherry-pick message follows:

Merge pull request #1414 from Altinity/frontport/antalya-26.1/rendezvous_hashing

26.1 Antalya port - improvements for cluster requests
# Conflicts:
#	src/Common/ProfileEvents.cpp
#	src/Core/Settings.cpp
#	src/Disks/DiskObjectStorage/ObjectStorages/IObjectStorage.h
#	src/Parsers/ASTSystemQuery.cpp
#	src/QueryPipeline/RemoteQueryExecutor.cpp
#	src/QueryPipeline/RemoteQueryExecutor.h
#	src/Storages/ObjectStorage/DataLakes/IDataLakeMetadata.h
#	src/Storages/ObjectStorage/DataLakes/Iceberg/ManifestFile.h
#	src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
#	src/Storages/StorageFileCluster.cpp
#	src/Storages/StorageURLCluster.cpp
#	tests/integration/test_s3_cluster/test.py
#	tests/integration/test_storage_s3/test.py
#	tests/queries/0_stateless/03413_experimental_settings_cannot_be_enabled_by_default.sql
ProfileEvents.cpp: added ObjectStorageCluster* events before the antalya-26.5 AI/JoinBuildPostProcessing events.

Settings.cpp: added allow_retries_in_cluster_requests as obsolete alongside antalya-26.5 additions.

IObjectStorage.h: added setFileMetaInfo/getFileMetaInfo/getCommand/getFileNameWithoutExtension methods from source PR.

ASTSystemQuery.cpp: kept both STOP/START_SWARM_MODE (source PR) and FREE_MEMORY/RESET_DDL_WORKER (antalya-26.5) cases.

RemoteQueryExecutor.cpp/h: added new skipUnavailableShards() const method (source PR) alongside needToSkipUnavailableShard() made const.

IDataLakeMetadata.h: kept both antalya-26.5 includes (DiskType.h, WriteBuffer.h) and source PR SchemaProcessor.h.

ManifestFile.h: dropped the old ColumnInfo struct inside #if USE_AVRO (source PR moved it to DB::Iceberg namespace outside the guard, already applied).

StorageObjectStorageSource.cpp: merged ProfileEvents/Setting extern declarations, adapted the do-while loop structure (source PR) to preserve antalya-26.5 query condition cache logic; query_condition_cache skips use not_a_path=true to force re-loop in do-while.

Adapted: do-while loop in StorageObjectStorageSource::createReader — loop was while(true) on antalya-26.5 but do-while in source PR; merged by keeping do-while structure and adapting query_condition_cache continue statements to use not_a_path=true to force re-entry.

StorageFileCluster.cpp / StorageURLCluster.cpp: took source PR's TaskIterator class hierarchy (FileTaskIterator / UrlTaskIterator) over antalya-26.5's lambda-based approach.

test_s3_cluster/test.py: added test_graceful_shutdown, test_remote_hedged, test_remote_no_hedged from source PR.

test_storage_s3/test.py: kept both sync_insert.xml (antalya-26.5) and lock_object_storage_task_distribution_ms.xml (source PR).

03413 SQL test: merged NOT IN exception lists from both sides.
Antalya 26.3: Fix rescheduleTasksFromReplica
@zvonand zvonand added releasy Created/managed by RelEasy antalya-26.5 ai-resolved Port conflict auto-resolved by Claude auto-prereq-added Combined PR includes auto-added prerequisite PR(s) labels Jun 24, 2026
@github-actions

Copy link
Copy Markdown

return context->getSettingsRef()[Setting::skip_unavailable_shards];
}

bool RemoteQueryExecutor::needToSkipUnavailableShard() const

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This method is not const after ClickHouse#99369

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cycle was changed in upstream from do ... while on while in ClickHouse#102115, I think need to keep it and rewrite PR to follow that change.

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.5 auto-prereq-added Combined PR includes auto-added prerequisite PR(s) releasy Created/managed by RelEasy

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants