Revert "Enable server-side AST fuzzer in stress test and BuzzHouse" by alexey-milovidov · Pull Request #100437 · ClickHouse/ClickHouse · GitHub
Skip to content

Revert "Enable server-side AST fuzzer in stress test and BuzzHouse"#100437

Closed
alexey-milovidov wants to merge 1 commit into
masterfrom
revert-98138-enable-ast-fuzzer-stress-buzzhouse
Closed

Revert "Enable server-side AST fuzzer in stress test and BuzzHouse"#100437
alexey-milovidov wants to merge 1 commit into
masterfrom
revert-98138-enable-ast-fuzzer-stress-buzzhouse

Conversation

@alexey-milovidov

Copy link
Copy Markdown
Member

Reverts #98138

Way too powerful for now - let's enable again this week.

@clickhouse-gh

clickhouse-gh Bot commented Mar 23, 2026

Copy link
Copy Markdown
Contributor

@clickhouse-gh clickhouse-gh Bot added the pr-not-for-changelog This PR should not be mentioned in the changelog label Mar 23, 2026
filter_output = ActionsDAG::evaluatePartialResult(
filter_input,
{ filter_node },
{ filter_dag.tryFindInOutputs(filter_column_name) },

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Restoring this revert drops a defensive null-check that was preventing a null ActionsDAG::Node from being passed into ActionsDAG::evaluatePartialResult.

If filter_column_name is missing from outputs, tryFindInOutputs returns nullptr, and evaluatePartialResult dereferences output nodes (e.g. node->children) without null handling. This can lead to an exception path outside the intended UNKNOWN fallback.

Please restore the guard:

const auto * filter_node = filter_dag.tryFindInOutputs(filter_column_name);
if (!filter_node)
    return FilterResult::UNKNOWN;

and pass { filter_node } to evaluatePartialResult.

filter_output = ActionsDAG::evaluatePartialResult(
combined_dag_input,
{ filter_node },
{ combined_dag.tryFindInOutputs(filter_column_name) },

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same issue as in filterResultForNotMatchedRows: this revert removes the null-check for combined_dag.tryFindInOutputs(filter_column_name).

Without the guard, a missing output can propagate nullptr to ActionsDAG::evaluatePartialResult, which assumes valid node pointers. Please restore the previous filter_node null-check and return FilterResult::UNKNOWN when not found.

alexey-milovidov added a commit that referenced this pull request Mar 23, 2026
Set `ast_fuzzer_runs` back to 0 (default) in stress test and BuzzHouse
CI configs while stability issues are being addressed.

See #100437

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@alexey-milovidov

Copy link
Copy Markdown
Member Author

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

Labels

pr-not-for-changelog This PR should not be mentioned in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant