fix(meta): record delta for new compaction group #19253
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
There's an optimization in time travel metadata: it will drop any delta log that doesn't add any SSTs. Because previously a new delta log from
commit_epoch
always belongs to either compaction group 2 or 3, which must exist.However, during snapshot backfill it's possible that a delta log adds a new compaction group without adding any SSTs, e.g. it includes
GroupConstruct
but doesn't include anyNewL0SubLevel
.This PR fixes the bug by enforcing a new version for time travel for the above new case, similar to how it is handled for delta logs generated by compaction.
This PR also removes useless
time_travel_toggle_check
, since time travel is always enabled.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.