[fix](search) fix mow support for search function#56927
[fix](search) fix mow support for search function#56927airborne12 merged 1 commit intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
There was a problem hiding this comment.
Pull Request Overview
This PR fixes merge-on-write (MOW) support for the search function by modifying the search validation logic to allow projections and other single-child operators in the query pipeline.
- Updated
CheckSearchUsageto use a more flexible pipeline validation instead of strictLogicalOlapScanchecking - Added comprehensive regression test for MOW tables with search functionality
- Enhanced validation logic to traverse single-child operator chains to find the underlying table scan
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| regression-test/suites/search/test_search_mow_support.groovy | Adds comprehensive test coverage for search functionality on MOW tables |
| fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckSearchUsage.java | Updates validation logic to support single-table pipelines with projections |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| if (current.arity() != 1) { | ||
| return false; | ||
| } | ||
| current = current.child(0); |
There was a problem hiding this comment.
This method can result in an infinite loop or null pointer exception. The while loop lacks a null check for current.child(0) and has no termination condition if the plan tree doesn't contain a LogicalOlapScan. Add a null check and ensure proper termination.
| current = current.child(0); | |
| Plan next = current.child(0); | |
| if (next == null) { | |
| return false; | |
| } | |
| current = next; |
TPC-DS: Total hot run time: 187958 ms |
ClickBench: Total hot run time: 29.98 s |
FE UT Coverage ReportIncrement line coverage |
FE Regression Coverage ReportIncrement line coverage |
FE Regression Coverage ReportIncrement line coverage |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)