-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[fix](iceberg) fix the iceberg eq-delete filter resize-fill bug. #51253
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
|
||
| /// reset the array capacity | ||
| /// fill the new additional elements using the value | ||
| void resize_fill(size_t n, const T& value) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please add some ut for resize fill, we should make sure it only reset the additional new element's value
be/src/vec/common/pod_array.h
Outdated
|
|
||
| /// reset the array capacity | ||
| /// fill all elements using the value | ||
| void reinit(size_t n, const T& value) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not add this method. Implement this logic at invoking place.
| _filter = std::make_unique<IColumn::Filter>(rows, 0); | ||
| } else { | ||
| _filter->resize_fill(rows, 0); | ||
| _filter->reinit(rows, 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
call assign method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, Use assign function instead
TPC-H: Total hot run time: 33701 ms |
e42dd8f to
b79c533
Compare
TPC-DS: Total hot run time: 192497 ms |
ClickBench: Total hot run time: 29.03 s |
|
run buildall |
yiguolei
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
b79c533 to
b1e2401
Compare
|
run buildall |
|
PR approved by at least one committer and no changes requested. |
suxiaogang223
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
TPC-H: Total hot run time: 33911 ms |
TPC-DS: Total hot run time: 193364 ms |
ClickBench: Total hot run time: 29.16 s |
) solve the problem of inconsistent filter data in the doris eq-delete scenario Problem Summary: When Doris reads iceberg's data, if there is eq-deleted data, when filtering the data, the filter will have dirty data due to the incorrect use of the resize-fill function, which will eventually cause Doris's data to be filtered incorrectly. [doris-iceberg-eq-delete-bug.pdf](https://github.com/user-attachments/files/20439214/doris-iceberg-eq-delete-bug.pdf)
) solve the problem of inconsistent filter data in the doris eq-delete scenario Problem Summary: When Doris reads iceberg's data, if there is eq-deleted data, when filtering the data, the filter will have dirty data due to the incorrect use of the resize-fill function, which will eventually cause Doris's data to be filtered incorrectly. [doris-iceberg-eq-delete-bug.pdf](https://github.com/user-attachments/files/20439214/doris-iceberg-eq-delete-bug.pdf)
…ll bug. #51253 (#51316) Cherry-picked from #51253 Co-authored-by: kang <[email protected]>
…ll bug. #51253 (#51315) Cherry-picked from #51253 Co-authored-by: kang <[email protected]>
…che#51253) solve the problem of inconsistent filter data in the doris eq-delete scenario Problem Summary: When Doris reads iceberg's data, if there is eq-deleted data, when filtering the data, the filter will have dirty data due to the incorrect use of the resize-fill function, which will eventually cause Doris's data to be filtered incorrectly. [doris-iceberg-eq-delete-bug.pdf](https://github.com/user-attachments/files/20439214/doris-iceberg-eq-delete-bug.pdf)
solve the problem of inconsistent filter data in the doris eq-delete scenario
Problem Summary:
When Doris reads iceberg's data, if there is eq-deleted data, when filtering the data, the filter will have dirty data due to the incorrect use of the resize-fill function, which will eventually cause Doris's data to be filtered incorrectly.
doris-iceberg-eq-delete-bug.pdf
yes
added a reinit function to reset the size of a data and fill all the data with the new data area
No.