shuke987 opened a new pull request, #65728:
URL: https://github.com/apache/doris/pull/65728
### What problem does this PR solve?
Issue Number: None
Related PR: #65627, #47082
Problem Summary:
This backports #65627 to `branch-4.0`.
`StreamSinkFileWriter` implemented the one/two-replica fault-injection debug
points by skipping entries in each writer's local stream order. Writers for the
same tablet can have different stream orders, so they could skip different
destination backends and accidentally remove a quorum.
The backport derives the failed replica set from sorted destination backend
IDs. Writers with the same replica set therefore skip the same physical
backend(s), independent of local stream order. The added BE unit tests cover
one- and two-replica injection with reordered stream lists.
Backport notes:
- Cherry-picked from `4712b1ddb114f5e9486e5dba973de00bd9b5fc35` with `-x`.
- Resolved only the branch-4.0 source layout differences (`olap/` and
`vec/sink/` include paths); the fix semantics and tests are unchanged.
Local validation:
- `git diff --check origin/branch-4.0...HEAD`: passed.
- clang-format 16.0.6 `--dry-run --Werror` on all three changed files:
passed.
- The regression Groovy case is unchanged.
- Targeted local BE UT was not run because the fresh branch-4.0 worktree has
no third-party or UT build cache; `run buildall` will provide branch-native
compile and UT validation.
### 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. The change only makes test-only debug point behavior
deterministic.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [x] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/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 -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]