Repository navigation
Fix deletion recovery and table last-cache correctness - #19081
Merged
Merged
Conversation
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #19081 +/- ##
============================================
- Coverage 48.12% 48.11% -0.01%
Complexity 625 625
============================================
Files 5572 5572
Lines 411488 411537 +49
Branches 54166 54185 +19
============================================
+ Hits 198010 198017 +7
- Misses 213478 213520 +42 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
jt2594838
approved these changes
Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.




Description
WAL deletion replay currently writes mods that can also hide inserts replayed later into the same recovered file. Restrict recovered mods to each flushed device and its on-disk end time while preserving the original FIELD and time ranges, tree wildcard semantics, table isolation, and NULL/empty TAG identities.
Correct table last-cache handling for sparse FIELD values,
last_by(TAG/ATTRIBUTE, Y), NULL identities, deleted devices, time predicates, TTL, and grouped/partial aggregation. Query writeback now uses a dedicated entry that updates the device row time only from an explicit TIME result; existing write-side cache updates retain their behavior. Apply the same contract to direct and cross-Region query writeback, and avoid modifying shared cached pairs when filtering query results.Add focused recovery and last-cache regressions. Unrelated deletion/compaction ITs already in #19051 are excluded. The identical
DeletionTestUtilshelper is retained because the recovery regressions require it for this PR to compile independently against master.Validation
8f665d113dbb5257b901c528c31c8bc24da2a018, without version mapping; clean DataNode/ITpackage, 12 cache unit tests, and 9 existing last-cache ITs plus 2 isolated verification-only probes passed. The latest last-cache cluster run used 1 ConfigNode and 3 DataNodes. Recovery ITs also have earlier passing evidence.TsFilePlanRedoerTestmethods have passing remote evidence and have not been run locally. Two pre-existing ignored tests remain unexecuted. The full IT suite was not run; builds used-Denforcer.skip=true.28c5028bb462403315e46319b57e9beb96ffaa69; compilation and executable tests were not repeated after refreshing master and removing duplicate ITs.This PR has: