dzr171712 opened a new pull request, #66888:
URL: https://github.com/apache/doris/pull/66888
### What problem does this PR solve?
Issue Number: close #CIR-27564
Related PR: #xxx
Problem Summary:
In multi-version read/write mode, tablet statistics are maintained in both
ordinary and versioned metadata.
The versioned tablet stats may be missing `last_active_cluster_id` or
`last_active_time_ms`. As a result, the versioned read and compaction paths
may fail to identify the cluster that most recently modified the tablet. This
can cause a cluster to make an incorrect compaction decision and break
compaction read/write separation.
This PR synchronizes the active-cluster metadata between ordinary and
versioned tablet stats. It also adds fallback logic for missing or incomplete
versioned load stats, while preserving valid versioned statistics.
The changes include:
- Update both ordinary and versioned tablet stats during transaction commit.
- Keep `last_active_cluster_id` and `last_active_time_ms` consistent.
- Fall back to ordinary tablet stats when versioned load stats are missing or
lack active-cluster metadata.
- Make the versioned `GetRowset` path correctly combine compact and load
stats.
- Add unit tests and regression tests for versioned-read compaction
read/write separation.
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [x] 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:
- [ ] No.
- [x] Yes. <!-- Explain the behavior change -->
This change fixes the behavior of versioned read/write mode when active
cluster metadata is missing or inconsistent. It ensures that compaction
decisions use the correct active-cluster information and preserves
compaction read/write separation.
- 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]