bobhan1 opened a new pull request, #69415:
URL: https://github.com/apache/doris/pull/69415
### What problem does this PR solve?
Issue Number: N/A
Related PR: #69325
Backport #69325 to `branch-4.2`. Event-driven warmup can finish before the
target synchronizes a rowset's metadata. If the source compacts that rowset
first, its completed warmup record can bypass the target's rowset GC and remain
allocated indefinitely.
Reuse tablet vacuum to reclaim aged completed records absent from both
visible and stale rowsets, including tablets without stale or unused rowsets,
and release oversized hash buckets. Preserve running attempts and local query
version paths. Carry attempt generations through callbacks and index
registration, use consistent metadata locking for state removal, and clear
unused-rowset caches after releasing tablet locks.
Resolve the backport conflicts using 4.2's existing segment download
helpers, contiguous segment IDs and cache recycling API.
### Release note
Cloud backends reclaim orphaned completed rowset warmup records to reduce
memory growth. `warm_up_rowset_state_gc_grace_period_seconds` controls the
grace period and defaults to 3600 seconds.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test: ASAN BE UT build and all 74 selected tests across four
suites passed with `./run-be-ut.sh --run
--filter='CloudTabletWarmUpStateTest.*:CloudTabletMgrTest.*:*PreferCache*:*FreshnessTolerance*'
-j100`. Includes the six new GC/callback/vacuum tests and existing
prefer-cache/freshness-tolerance coverage.
- [x] Manual test: clang-format 16 check on all nine changed files and
`git diff --check upstream/branch-4.2...HEAD` passed.
- Behavior changed:
- [x] Yes. Aged orphaned completed warmup records are reclaimed and may
subsequently be warmed again. Running and local visible/stale records remain
tracked.
- Does this need documentation?
- [x] No.
### 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]