Yukang-Lian opened a new pull request, #66610:
URL: https://github.com/apache/doris/pull/66610
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary:
Cloud cumulative compaction scheduling maintains an approximate score
between metadata synchronizations. The online write path used the raw segment
count, so a zero-segment rowset added no score even though metadata
synchronization counts every empty rowset as one. Empty rowsets could therefore
accumulate without increasing tablet scheduling priority.
This PR clamps the online contribution of a load rowset to at least one and
adds the same contribution for zero-segment delete-predicate rowsets, which
bypass `CloudRowsetBuilder`. Non-empty PREPARED rowsets keep the existing
segment-based estimate because their versions have not been assigned yet.
The unit test models that PREPARED, versionless lifecycle and verifies both
cases: a zero-segment rowset contributes one, while a three-segment rowset
still contributes three.
### Release note
Fix cloud cumulative compaction scheduling for empty rowsets.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
- `./run-be-ut.sh --run --filter='CloudCompactionTest.*' -j80` (18
tests passed)
- `build-support/check-format.sh`
- `git diff --check`
- [ ] Manual test
- [ ] No need to test or manual test.
- Behavior changed:
- [ ] No.
- [x] Yes. Zero-segment rowsets now contribute one to the online
approximate cumulative compaction score.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]