Skip to content

Conversation

@ianton-ru
Copy link

@ianton-ru ianton-ru commented Oct 15, 2025

Changelog category (leave one):

  • Bug Fix (user-visible misbehavior in an official stable release)

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

Fix joins with Iceberg tables
Solved #1063 (I hope)

Documentation entry for user-facing changes

  • Joins works with Iceberg tables, not only with table functions
  • Fix for local columns in ORDER BY/GROUP BY
  • WHERE/PREWHERE condition for subquery
  • More tests

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)
  • Tiered Storage (2h)

@github-actions
Copy link

github-actions bot commented Oct 15, 2025

Workflow [PR], commit [e1a8cd1]

@ianton-ru
Copy link
Author

ianton-ru commented Oct 16, 2025

Failed tests:
03572_export_replicated_merge_tree_part_to_object_storage - looks like intersection in object_storage_cluster and part export
02995_new_settings_history:

2025-10-15 14:20:45 +PLEASE ADD THE NEW SETTING TO SettingsChangesHistory.cpp: export_merge_tree_part_overwrite_file_if_exists WAS ADDED
2025-10-15 14:20:45 +PLEASE ADD THE NEW SETTING TO SettingsChangesHistory.cpp: allow_experimental_export_merge_tree_part WAS ADDED
2025-10-15 14:20:45 +PLEASE ADD THE NEW SETTING TO SettingsChangesHistory.cpp: allow_experimental_export_merge_tree_part WAS ADDED

01079_parallel_alter_detach_table_zookeeper - looks like flap

if (query_node.hasWhere() || query_node.hasPrewhere())
{
CollectUsedColumnsForSourceVisitor collector_where(table_function_node, context, true);
if (query_node.hasPrewhere())
Copy link
Collaborator

Choose a reason for hiding this comment

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

It's quite odd that the original code didn't take prewhere into account...

If those are actually needed, we need to place a mental pin here that after backporting prewhere+row_policy we'll need to add hasRowLevelFilter here as well.

assert node.query(f"SELECT * FROM {CATALOG_NAME}.`{root_namespace}.{table_encoded_name}`") == "\\N\tAAPL\t193.24\t193.31\t('bot')\n"


def test_cluster_joins(started_cluster):
Copy link
Collaborator

Choose a reason for hiding this comment

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

This test seems to be passing on the current Antalya branch:

test_database_iceberg/test.py::test_cluster_joins PASSED  

Is it expected?

Copy link
Author

Choose a reason for hiding this comment

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

Nice catch, test doesn't cover case with local right table, thanks!

Copy link
Author

Choose a reason for hiding this comment

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

And not on cluster...

@ianton-ru ianton-ru changed the title 25.8 Antalya: Fix joins with Iceberg tables [WIP] 25.8 Antalya: Fix joins with Iceberg tables Oct 24, 2025
@ianton-ru ianton-ru force-pushed the feature/antalya-25.8/s3cluster_global_join_fixes branch from fba187a to 39882f5 Compare November 6, 2025 13:39
@ianton-ru
Copy link
Author

Remove unused code

@ianton-ru ianton-ru changed the title [WIP] 25.8 Antalya: Fix joins with Iceberg tables 25.8 Antalya: Fix joins with Iceberg tables Nov 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants