Stop the bleeding in function_prop_fuzzer by alexey-milovidov · Pull Request #105146 · ClickHouse/ClickHouse · GitHub
Skip to content

Stop the bleeding in function_prop_fuzzer#105146

Merged
alexey-milovidov merged 2 commits into
masterfrom
stop-bleeding-function-prop-fuzzer
May 17, 2026
Merged

Stop the bleeding in function_prop_fuzzer#105146
alexey-milovidov merged 2 commits into
masterfrom
stop-bleeding-function-prop-fuzzer

Conversation

@alexey-milovidov

@alexey-milovidov alexey-milovidov commented May 17, 2026

Copy link
Copy Markdown
Member

Combines #105143 and #105144 to silence the two classes of failures that have been overwhelming the function_prop_fuzzer job on master since 2026-05-11:

  • Reverts Wire functions stress test to ProcessList for KILL-QUERY-style timeouts #104694 ("Wire functions stress test to ProcessList for KILL-QUERY-style timeouts"). The hardening broke CI; it should be re-introduced only after the affected functions (mostly arrayResize) are taught to honor cancellation.
  • Re-adds broken_determinism to the default ignore_problems list, reversing 519276200b5 ("Enforce broken_determinism in the functions stress test"). The check needs to be re-enabled one function at a time as the underlying determinism bugs (caseWithExpression, if, substringUTF8, roundDown, arrayUnion, coalesce, ifNull, rightUTF8, nullIf, equals, ...) are fixed.

Keep in mind that CI is always right.

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

  • Documentation is written (mandatory for new features)

Version info

  • Merged into: 26.5.1.717

The check was removed from the ignore list on 2026-05-12 in 5192762
("Enforce broken_determinism in the functions stress test"). Since then
the `function_prop_fuzzer` job on master surfaces dozens of determinism
mismatches per day across many functions (`caseWithExpression`, `if`,
`substringUTF8`, `roundDown`, `arrayUnion`, `coalesce`, `ifNull`,
`rightUTF8`, `nullIf`, `equals`, ...). These are pre-existing issues
that pre-date the enforcement and cannot be fixed in one go; until they
are individually addressed the noise drowns out other regressions caught
by the same job. Re-add `broken_determinism` to the default ignore list,
keeping it controllable via `--ignore-problems` for targeted work.
@clickhouse-gh

clickhouse-gh Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh

clickhouse-gh Bot commented May 17, 2026

Copy link
Copy Markdown
Contributor

LLVM Coverage Report

Metric Baseline Current Δ
Lines 84.10% 84.20% +0.10%
Functions 91.40% 91.40% +0.00%
Branches 76.50% 76.60% +0.10%

Changed lines: 1.56% (1/64) · Uncovered code

Full report · Diff report

@alexey-milovidov alexey-milovidov self-assigned this May 17, 2026
@alexey-milovidov alexey-milovidov merged commit 693575c into master May 17, 2026
166 of 167 checks passed
@alexey-milovidov alexey-milovidov deleted the stop-bleeding-function-prop-fuzzer branch May 17, 2026 18:29
@alexey-milovidov

Copy link
Copy Markdown
Member Author

This was referenced May 17, 2026
groeneai added a commit to groeneai/ClickHouse that referenced this pull request May 27, 2026
The 2026-05-27 master merge into this PR branch accidentally undid the
master-side changes to three files unrelated to this PR's StorageMergeTree
ALTER fix:

  - src/Functions/tests/gtest_functions_stress.cpp: re-introduced the
    per-iteration max_execution_time / CancellationChecker /
    ProcessList wiring (originally landed in ClickHouse#105146, reverted by
    ClickHouse#105163, re-landed on master). Without this, function_prop_fuzzer
    iterations cannot be interrupted and the job regresses to long/stuck
    behavior.
  - src/Interpreters/CancellationChecker.cpp: re-introduced the
    'stop_thread = false' reset at the end of workerFunction so the
    singleton can be restarted in tests.
  - tests/queries/0_stateless/03357_join_pk_sharding.sql: re-added the
    'no-tsan' tag landed by ClickHouse#105902.

Reverting these hunks restores the master versions so this PR only ships
the intended StorageMergeTree / StorageReplicatedMergeTree areNonReplicatedAlterCommands
branch and the new 04248 regression test.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-ci pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants