Yukang-Lian opened a new pull request, #66337:
URL: https://github.com/apache/doris/pull/66337
### What problem does this PR solve?
Issue Number: None
Related PR: #63112
Problem Summary: This PR takes over #63112 and adds explicit local and Cloud
unit-test coverage.
While a schema change target tablet is `TABLET_NOTREADY`, cumulative
compaction should merge only older rowsets and leave the newest 10 versions
unmerged. The filter used the inverse comparison, skipping older rowsets and
selecting the newest versions. A compaction output could then cross the base
tablet's maximum version and prevent incremental schema-change conversion with
`VERSION_ALREADY_MERGED`.
This change reverses the comparison in both local and Cloud size-based
cumulative compaction policies. The new tests verify that versions 2 through 10
are selected and versions 11 through 20 remain unmerged.
### Release note
Fix schema changes that could fail when cumulative compaction merged the
latest versions on the new tablet.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
-
`TestSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_notready_keeps_latest_versions`
-
`TestCloudSizeBasedCumulativeCompactionPolicy.pick_input_rowsets_notready_keeps_latest_versions`
- [ ] Manual test
- [ ] No need to test or manual test
- Behavior changed:
- [ ] No.
- [x] Yes. `TABLET_NOTREADY` cumulative compaction now leaves the latest
10 versions unmerged.
- 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]