Next batch of settings to randomize during tests runs by PedroTadim · Pull Request #100874 · ClickHouse/ClickHouse · GitHub
Skip to content

Next batch of settings to randomize during tests runs#100874

Closed
PedroTadim wants to merge 39 commits into
masterfrom
stress-stress2
Closed

Next batch of settings to randomize during tests runs#100874
PedroTadim wants to merge 39 commits into
masterfrom
stress-stress2

Conversation

@PedroTadim

Copy link
Copy Markdown
Member

Changelog category (leave one):

  • CI Fix or Improvement (changelog entry is not required)

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

...

Documentation entry for user-facing changes

This is my second of 4 planned batches of settings to randomize. Time to debug for a while again...

  • Documentation is written (mandatory for new features)

@clickhouse-gh

clickhouse-gh Bot commented Mar 27, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh clickhouse-gh Bot added the pr-ci label Mar 27, 2026
@PedroTadim PedroTadim changed the title Next batch of settings to randomize during tests run Next batch of settings to randomize during tests runs Mar 27, 2026
Comment thread tests/clickhouse-test
Comment thread tests/queries/0_stateless/04051_top_k_dynamic_filter_read_in_order.sql Outdated
groeneai added a commit to groeneai/ClickHouse that referenced this pull request Apr 2, 2026
Pin query plan settings that affect EXPLAIN output structure:
- query_plan_filter_push_down=1: controls filter push-down below
  aggregation/sort/distinct steps
- query_plan_merge_expressions=1: controls Expression step merging
- query_plan_execute_functions_after_sorting=1: controls function
  lifting after sorting
- query_plan_split_filter=1: controls filter expression splitting

CI randomizes these settings (PR ClickHouse#100874 adds them to
SettingsRandomizer), which changes step ordering and breaks the
grep-based EXPLAIN assertions. Each test now pins exactly the settings
that control the optimizations it verifies.

Affects: 01655_plan_optimizations, 01655_plan_optimizations_merge_filters,
01655_plan_optimizations_optimize_read_in_window_order
(549 total failures across 25 PRs in 30 days)
groeneai added a commit to groeneai/ClickHouse that referenced this pull request Apr 2, 2026
Pin query_plan_merge_expressions=1 and query_plan_merge_filter_into_join_condition=1
to prevent CI settings randomization from changing the EXPLAIN output structure.

The test verifies that WHERE filters get merged into JOIN conditions. When either
setting is randomized to False, the filter stays as a separate step and Expression
steps are not merged, causing the EXPLAIN output to differ from the reference.

53 failures across 7 PRs in 30 days, predominantly from PR ClickHouse#100874 which adds
these settings to the randomizer.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
groeneai added a commit to groeneai/ClickHouse that referenced this pull request Apr 2, 2026
Pin `query_plan_remove_unused_columns = 1` in the EXPLAIN query to
stabilize skip index EXPLAIN output.

When `query_plan_remove_unused_columns` is randomized to False (by PR
ClickHouse#100874's settings randomizer), unused columns remain in the query plan,
shifting text index INPUT node positions from 0 to 1+ and removing the
"Actions:" prefix from the output. This causes the reference file
comparison to fail.

The fix pins the setting only in the EXPLAIN query (query-level SETTINGS),
so it does not affect the actual query execution or data correctness checks.
The test still verifies that text indexes work correctly in PREWHERE with
both skip_indexes=0 and skip_indexes=1.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@PedroTadim PedroTadim closed this Apr 2, 2026
@PedroTadim PedroTadim deleted the stress-stress2 branch April 2, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants