Skip to content

pick refactor BE directory structure to 4.1#61595

Merged
yiguolei merged 26 commits intoapache:branch-4.1from
yiguolei:branch-4.1
Mar 23, 2026
Merged

pick refactor BE directory structure to 4.1#61595
yiguolei merged 26 commits intoapache:branch-4.1from
yiguolei:branch-4.1

Conversation

@yiguolei
Copy link
Contributor

@yiguolei yiguolei commented Mar 21, 2026

What problem does this PR solve?

pick #61107 #61127 #61135 #61153 #61142 #61158 #61152 #61170 #61189

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • 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
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

jacktengg and others added 14 commits March 21, 2026 17:31
…pache#61408)

### What problem does this PR solve?

Issue Number: close #xxx

Related PR: apache#61397

Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] 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:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] 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 -->
Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

None

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] 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:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
ignore some ubsan error in some files.
### What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] 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:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] 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 -->
@Thearas
Copy link
Contributor

Thearas commented Mar 21, 2026

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

mymeiyi and others added 2 commits March 21, 2026 22:50
### What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] 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:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] 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 -->
yiguolei and others added 5 commits March 22, 2026 00:00
…#61158)

ASSERT_DEATH/EXPECT_DEATH to crash due to unsafe fork() in
multi-threaded context.

Fix: add GTEST_FLAG_SET(death_test_style, "threadsafe") so gtest uses
fork+re-exec instead of plain fork, and setrlimit to suppress core dumps
in death test child processes.
…res (apache#61189)

1. JsonBinaryValueTest.TestValidation: fix assertions to match parser
behavior
- Empty string and non-JSON text ('abc') correctly return error since
c3e418b refactored JsonbParser, update EXPECT_TRUE to EXPECT_FALSE
- Scalar JSON values ('1', 'null', 'false') parse successfully, keep
EXPECT_TRUE

2. AcceptNullPredicateTest: fix ODR violation with MockIndexIterator
- MockIndexIterator was defined in both accept_null_predicate_test.cpp
and function_ip_test.cpp with different has_null() implementations (true
vs false)
- Linker picked function_ip_test's vtable, causing has_null() to always
return false
- Wrap Mock classes in anonymous namespace to ensure each TU uses its
own vtable
…pache#61170)

### What problem does this PR solve?

Problem Summary:

### Release note

Multiple test files defined different MockFileReader classes with the
same fully-qualified name doris::MockFileReader but different member
layouts and sizes (96 bytes vs 64 bytes). When linked into the single
monolithic doris_be_test binary, the linker would deduplicate symbols
and arbitrarily pick one version's template instantiations (e.g.,
make_shared, destructor), causing size mismatches at runtime. This
resulted in ASAN errors:
- heap-buffer-overflow: allocating 80 bytes but writing 96 bytes
- new-delete-type-mismatch: allocated 96 bytes, deallocated 64 bytes The
ODR conflict was exposed after apache#61142 removed the vectorized namespace,
which moved orc_file_reader_test.cpp's MockFileReader into namespace
doris, colliding with file_meta_cache_test.cpp's MockFileReader in the
same namespace.
Fix: Wrap each MockFileReader class in an anonymous namespace to give
them internal linkage, ensuring each translation unit uses its own
independent symbols.
…61226)

1. remove rowtype template parameter from encode key methods
2. move encode key methods from key util to rowcurosr because it only
encode rowcursor.
3. move _key_is_not_in_segment to base tablet

Related PR: #xxx

Problem Summary:

None

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] 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:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
@yiguolei
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 51.40% (140818/273955) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.62% (19488/37037)
Line Coverage 36.06% (181828/504248)
Region Coverage 32.31% (139959/433209)
Branch Coverage 33.46% (61341/183317)

@yiguolei
Copy link
Contributor Author

run buildall

@yiguolei yiguolei changed the title Branch 4.1 pick refactor BE directory structure to 4.1 Mar 23, 2026
Copy link
Contributor

@HappenLee HappenLee left a comment

Choose a reason for hiding this comment

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

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 23, 2026
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 51.44% (140842/273800) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.63% (19492/37037)
Line Coverage 36.08% (181851/504077)
Region Coverage 32.31% (139968/433209)
Branch Coverage 33.48% (61370/183317)

Copy link
Member

@mrhhsg mrhhsg left a comment

Choose a reason for hiding this comment

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

LGTM! ✨

@yiguolei
Copy link
Contributor Author

skip buildall

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 80.44% (219269/272593) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 72.87% (26414/36249)
Line Coverage 56.17% (282164/502369)
Region Coverage 53.65% (234526/437181)
Branch Coverage 55.43% (101909/183837)

@yiguolei yiguolei merged commit 8d8718f into apache:branch-4.1 Mar 23, 2026
33 of 36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants