Repository navigation
[ut](datatype) Add BE UT for some basic data types and serializers - #48788
Merged
Merged
Conversation
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
from
March 6, 2025 17:03
6cb0295 to
f8fe567
Compare
Contributor
Author
|
run buildall |
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
2 times, most recently
from
March 6, 2025 17:06
f25334b to
b9b981b
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32381 ms |
TPC-DS: Total hot run time: 184848 ms |
ClickBench: Total hot run time: 31.06 s |
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
2 times, most recently
from
March 7, 2025 02:19
5ec7ffc to
5365220
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32049 ms |
TPC-DS: Total hot run time: 191794 ms |
ClickBench: Total hot run time: 31.25 s |
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
2 times, most recently
from
March 7, 2025 07:09
0a68e98 to
92e0daa
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32985 ms |
TPC-DS: Total hot run time: 192504 ms |
ClickBench: Total hot run time: 31.05 s |
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
2 times, most recently
from
March 8, 2025 01:29
5bbe8aa to
5693f00
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32820 ms |
TPC-DS: Total hot run time: 191877 ms |
ClickBench: Total hot run time: 31.38 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
2 times, most recently
from
March 9, 2025 17:12
b46a1ee to
31f8cb7
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32865 ms |
TPC-DS: Total hot run time: 192012 ms |
ClickBench: Total hot run time: 30.71 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
Closed
3 of 16 tasks
… and ColumnDictionary
DataTypeNumber, DataTypeDecimal, DataTypeString, DataTypeDateTimeV2
jacktengg
force-pushed
the
be-core-ut-datatypes
branch
from
March 10, 2025 01:55
31f8cb7 to
3331ed4
Compare
Contributor
Author
|
run buildall |
TPC-H: Total hot run time: 32973 ms |
TPC-DS: Total hot run time: 191991 ms |
ClickBench: Total hot run time: 30.96 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
Contributor
|
PR approved by at least one committer and no changes requested. |
Contributor
|
PR approved by anyone and no changes requested. |
koarz
pushed a commit
to koarz/doris
that referenced
this pull request
Jun 4, 2025
…pache#48788) ### What problem does this PR solve? Issue Number: close #xxx Related PR: #xxx Problem Summary: DataTypeNumber, DataTypeDecimal, DataTypeString, DataTypeDateTimeV2
3 of 12 tasks
morningman
added a commit
that referenced
this pull request
Oct 29, 2026
…#69695) ### What problem does this PR solve? Issue Number: None Related PR: #48788 Problem Summary: **In short.** `load_data_from_csv()` in the BE test utilities dereferences `std::set::end()` in an assertion. With libc++ (macOS) that reads past the set on the stack, so under ASAN every BE unit test suite that loads a CSV fixture aborts while loading its fixtures and takes the rest of the `doris_be_test` run with it. This removes the assertion; it only repeated the size check on the line above. **Background.** #48788 added `load_data_from_csv()` (`be/test/testutil/test_util.cpp`), which the column, data type and SerDe unit tests use to load their CSV fixtures. It checks that the SerDes, the columns and the requested column indexes line up: `serders.size() == columns.size()`, `serders.size() == idxes.size()`, and then `serders.size() == *idxes.end()`. **The problem, and what it cost.** Dereferencing the end iterator of a `std::set` is undefined behavior. In libstdc++ the end iterator points at the tree header, whose value slot overlaps the element count, so on Linux the last assertion compares against `idxes.size()` again and passes. In libc++ it reads outside the set object: ASAN reports a stack-buffer-overflow, and with `abort_on_error` the whole `doris_be_test` process stops. The suites of all 24 test files that load CSV fixtures (`DataTypeDateTimeV2SerDeTest`, `DataTypeNumberSerDeTest`, `ColumnStringTest`, ...) cannot run on macOS, and a test filter that includes one of them ends the run there. CI runs on Linux only, so it never failed there. **How this PR fixes it.** Remove the assertion. The size check right above it already guarantees one index per SerDe. No production code changes. #63474, open since May, carries the same removal among its macOS build fixes; this PR takes only this line, so the test fix does not wait for the rest. **Results.** | | macOS arm64, ASAN | Linux | |---|---|---| | Before | `DataTypeDateTimeV2SerDeTest` aborts in `SetUpTestSuite` with a stack-buffer-overflow | passes (the assertion repeats the size check) | | After | the 24 CSV-fixture suites (364 tests) pass | unchanged |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
DataTypeNumber, DataTypeDecimal, DataTypeString, DataTypeDateTimeV2
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)