Skip to content

Stable 25.8: stabilize Stress test (JOIN chain + concat nullability LOGICAL_ERRORs) - #2019

Merged
zvonand merged 7 commits into
stable-25.8from
ci/fix-stress-test
Jul 14, 2026
Merged

Stable 25.8: stabilize Stress test (JOIN chain + concat nullability LOGICAL_ERRORs)#2019
zvonand merged 7 commits into
stable-25.8from
ci/fix-stress-test

Conversation

@CarlosFelipeOR

@CarlosFelipeOR CarlosFelipeOR commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

Backport of :

  1. Disable join_use_nulls for 03716_multiple_joins_using_top_level ClickHouse/ClickHouse#91128 - PR: disable join_use_nulls for 03716_multiple_joins_using_top_level_identifier
  2. PR: fix n-way join with GLOBAL join ClickHouse/ClickHouse#86895 - PR: fix n-way join with GLOBAL join
  3. PR: fix LEFT/INNER ... RIGHT ... JOINS chain ClickHouse/ClickHouse#87178 - PR: fix LEFT/INNER ... RIGHT ... JOINS chain
  4. PR: fix RIGHT joins chain ClickHouse/ClickHouse#97316 - PR: fix RIGHT joins chain

Includes a follow-up fix to address issues introduced during conflict resolution and align the implementation with upstream.

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):

Backport upstream fixes for LOGICAL_ERROR in queries with parallel replicas and multiple JOINs (LEFT/INNER...RIGHT, RIGHT...RIGHT, n-way with GLOBAL/FULL) (ClickHouse#86895, ClickHouse#87178, ClickHouse#97316 by @devcrafter)

CI/CD Options

Exclude tests:

  • Fast test
  • Integration Tests
  • Stateless tests
  • Stateful tests
  • Performance tests
  • Aarch64 tests
  • All with ASAN
  • All with TSAN
  • All with MSAN
  • All with UBSAN
  • All with Coverage
  • 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)
  • OAuth (5m)
  • Parquet (1.5h)
  • RBAC (1.5h)
  • SSL Server (1h)
  • S3 (2h)
  • S3 Export (2h)
  • Swarms (30m)
  • Tiered Storage (2h)

@CarlosFelipeOR
CarlosFelipeOR requested a review from strtgbb July 7, 2026 18:01
@CarlosFelipeOR CarlosFelipeOR added stable cicd Improvements and fixes to the CICD process 25.8 25.8 Altinity Stable stable-25.8 labels Jul 7, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown

Workflow [PR], commit [fb8a546]

@CarlosFelipeOR CarlosFelipeOR changed the title Stable 25.8: Backport #91128 — disable join_use_nulls for 03716 to fix stress test flake Stable 25.8: stabilize Stress test on stable-25.8 (JOIN chain + concat nullability LOGICAL_ERRORs) Jul 8, 2026
@CarlosFelipeOR CarlosFelipeOR changed the title Stable 25.8: stabilize Stress test on stable-25.8 (JOIN chain + concat nullability LOGICAL_ERRORs) Stable 25.8: stabilize Stress test (JOIN chain + concat nullability LOGICAL_ERRORs) Jul 8, 2026
@CarlosFelipeOR
CarlosFelipeOR requested review from MyroTk and removed request for strtgbb July 8, 2026 23:52
devcrafter and others added 4 commits July 8, 2026 20:54
…-expression

PR: fix n-way join with GLOBAL join
(cherry picked from commit 77418de)
(cherry picked from commit 8701007)
…non-merge-tree

PR: fix LEFT/INNER ... RIGHT ... JOINS chain
(cherry picked from commit d1ad996)
(cherry picked from commit 8315f15)
PR: fix RIGHT joins chain
(cherry picked from commit 27128fd)
(cherry picked from commit bf73cc7)
The cherry-pick of ClickHouse#97316 onto antalya-25.8 had a manual conflict
resolution that lost two parts of the upstream version of
should_disable_parallel_replicas():

  * the n-way CROSS JOIN branch (sets is_cross_join = true and
    consumes it next to is_full_join / is_global_join)
  * the explicit fallback for RIGHT JOIN with a distributed/remote
    right-side table (consumes is_right_join_with_remote_table)

Without these reads the two variables were "set but not used", which
fast-test catches as -Werror,-Wunused-but-set-variable /
-Wunused-variable. Restore them verbatim from upstream/master.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 8d40b8f)
@CarlosFelipeOR

Copy link
Copy Markdown
Collaborator Author

QA Verification

Verdict: ✅ Approved — no regressions. The only outstanding CI failure is a pre-existing flaky test unrelated to this PR's changes.

Failing test

04043_system_asynchronous_inserts_user_filter — job Stateless tests (amd_tsan, s3 storage, parallel).

This is a timing flake in the test itself, not a regression:

  • Non-deterministic on the identical commit (fb8a546): the same test in the same job produced FAIL → OK → FAIL. A real regression would fail deterministically.
  • Only fails in the single heaviest config. It passes in all ~15 other configurations (debug, asan, msan, ubsan, AsyncInsert, ParallelReplicas, distributed plan, etc.), failing only under TSAN + S3 + parallel — the slowest, most timing-sensitive environment.
  • Failure is a count mismatch, not a crash: secret_user/admin expected 1, saw 0. The test does an async INSERT with a 600 s flush timeout and expects the entry to stay pending in system.asynchronous_inserts while it is queried; under TSAN+S3 the entry was no longer queued at query time. The isolation logic actually under test (restricted_user = 0) behaved correctly.
  • No connection to the changes. This PR only touches the JOIN planner (PlannerJoinTree.cpp), JOIN test files, and parallel_replicas_blacklist.txt. The failing test contains no JOINs and was itself recently added by an unrelated backport (upstream Fix cross-user data leak in system.asynchronous_inserts ClickHouse/ClickHouse#100024, "Fix cross-user data leak in system.asynchronous_inserts").

Stress test (amd_tsan)

Since this PR targets stress-test stability, Stress test (amd_tsan) was run 4 times on the final commit fb8a546all 4 passed (Not crashed, No logical errors, No sanitizer asserts, No queries hung, Server started/died checks all OK). Confirmed stable.

@CarlosFelipeOR CarlosFelipeOR added the verified Approved for release label Jul 14, 2026
@zvonand
zvonand merged commit 0453332 into stable-25.8 Jul 14, 2026
716 of 720 checks passed
@mkmkme

mkmkme commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

This has been handled in Antalya 25.8 by #1724. No need to backport

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

Labels

25.8 25.8 Altinity Stable 25.8.28.10001 antalya-25.8 cicd Improvements and fixes to the CICD process stable stable-25.8 verified Approved for release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants