[refine](hashmap)The iterator for the agg hashmap should not yield NULL values.#61113
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 27843 ms |
TPC-DS: Total hot run time: 153587 ms |
|
run buildall |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
f21dc7d to
aa2acf4
Compare
|
run buildall |
TPC-H: Total hot run time: 27720 ms |
TPC-DS: Total hot run time: 152959 ms |
aa2acf4 to
c744f5f
Compare
|
run buildall |
TPC-H: Total hot run time: 27711 ms |
TPC-DS: Total hot run time: 153956 ms |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
|
run buildall |
TPC-H: Total hot run time: 27798 ms |
TPC-DS: Total hot run time: 153888 ms |
|
run buildall |
TPC-H: Total hot run time: 27856 ms |
TPC-DS: Total hot run time: 153813 ms |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
1 similar comment
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
1 similar comment
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
…LL values. (apache#61113) ### What problem does this PR solve? In the PR apache#51063, because the hashmap did not handle NULL values in one operation, it caused a correctness issue. To fix it, the iterator for a hashmap that contains NULL may return NULL values. However, this is not ideal. A hashmap can contain at most one NULL key, and our usual approach is to handle this NULL key either at the end or at the beginning. In other cases, there is no need to consider NULL, and this is also better for performance. This PR ensures that the iterator for the agg hashmap should not yield NULL values. ### Release note None ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [x] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [x] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [x] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
What problem does this PR solve?
In the PR #51063, because the hashmap did not handle NULL values in one operation, it caused a correctness issue. To fix it, the iterator for a hashmap that contains NULL may return NULL values. However, this is not ideal. A hashmap can contain at most one NULL key, and our usual approach is to handle this NULL key either at the end or at the beginning. In other cases, there is no need to consider NULL, and this is also better for performance.
This PR ensures that the iterator for the agg hashmap should not yield NULL values.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)