Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes - #2145
Open
zvonand wants to merge 8 commits into
Open
Antalya 26.6: Cluster request improvements + Iceberg/Parquet read fixes#2145zvonand wants to merge 8 commits into
zvonand wants to merge 8 commits into
Conversation
…next commit) --- Original cherry-pick message follows: Merge pull request #1687 from Altinity/feature/antalya-26.3/pr-1414-1 Antalya 26.3 port - improvements for cluster requests # Conflicts: # src/Common/ProfileEvents.cpp # src/Core/Settings.cpp # src/Disks/DiskObjectStorage/ObjectStorages/IObjectStorage.cpp # src/Storages/ObjectStorage/DataLakes/Iceberg/ManifestFileIterator.cpp # src/Storages/ObjectStorage/StorageObjectStorageCluster.cpp # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp # src/Storages/StorageFileCluster.cpp # src/Storages/StorageURLCluster.cpp # tests/integration/test_s3_cluster/test.py # tests/queries/0_stateless/03413_experimental_settings_cannot_be_enabled_by_default.sql
Kept antalya-26.6 code outside the port's scope (AI/JOIN profile events, distributed_plan_workers_num and query_plan_use_*_logical_join_step settings, ai_function_* test exceptions, IObjectStorage::prepareRead, query condition cache loop in createReader, storage_cluster_read_sleep failpoint, hive partitioning and iceberg failpoint integration tests) and added the port's changes on top. Adapted: TaskDistributor::operator() carries the base-branch storage_cluster_read_sleep failpoint that used to live in the replaced task iterator lambda Adapted: createReader keeps the base-branch while(true) loop (query condition cache); the port's not_a_path retry flag becomes a plain continue Adapted: FileTaskIterator/UrlTaskIterator get virtual columns from StorageMetadataPtr since getVirtualsList() no longer exists on antalya-26.6 Adapted: relocated deserializeFieldFromBinaryRepr keeps the base-branch TypeIndex::Variant guard Source-PR: #1687 (#1687)
…next commit) --- Original cherry-pick message follows: Merge pull request #1751 from Altinity/feature/antalya-26.3/pr-1631 Antalya 26.3: Fix condition for using parquet metadata cache # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
The PR's fix (case-insensitive comparison of the per-object file format when deciding whether to use the parquet metadata cache) is already present on antalya-26.6: the condition compares Poco::toLower(format_name), where format_name == object_info->getFileFormat().value_or(configuration->format). Kept the base-branch shape and dropped the cherry-pick's use_native_reader_v3 conjunct, which is context (not part of #1751's diff) and no longer exists on antalya-26.6 (input_format_parquet_use_native_reader_v3 is obsolete there). Source-PR: #1751 (#1751)
…next commit) --- Original cherry-pick message follows: Merge pull request #1991 from Altinity/fix/antalya-26.3/stateless-manifests Fix Iceberg read optimization returning NULLs for stats-less manifests # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
…next commit) --- Original cherry-pick message follows: Merge pull request #1759 from Altinity/bugfix/antalya-26.3/view_over_iceberg Antalya 26.3: Fix view over iceberg # Conflicts: # src/Storages/ObjectStorage/StorageObjectStorageSource.cpp
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Improve Iceberg and object-storage cluster query handling, and fix Iceberg queries not hitting the Parquet metadata cache. Also fix reads returning NULL for every column when manifests lack per-file column statistics, and fix incorrect results from views over Iceberg tables, including complex column expressions.
Improve Iceberg and object-storage cluster query handling, and fix Iceberg queries not hitting the Parquet metadata cache. Also fix reads returning NULL for every column when manifests lack per-file column statistics, and fix incorrect results from views over Iceberg tables, including complex column expressions (#1687 by @zvonand, #1751 by @zvonand, #1991 by @zvonand, #1759 by @ianton-ru).
CI/CD Options
Exclude tests:
Regression jobs to run:
Combined port of 4 PR(s) (group
auto-grp-pr-1687). Cherry-picked from #1687, #1751, #1991, #1759.