bugfix: Create tombstones when needed while doing REPLACE mode with range partitioning plus parallel indexing #18938
+152
−2
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
Bug Description
Tombstones are not properly created when in
REPLACEindexing mode and ParallelIndexSupervisorTask range partitioning gets no reports for partition boundaries due to all rows being filtered out of the underlying source data. This results in existing segments remaining available that should have been overshadowed.Reproduction Steps
Compaction with range partitioning and a compaction transform filter that filters all rows out of the segments being compacted.
Expected behavior: tombstones created for the interval, and the old segments being overshadowed.
Actual behavior: Task completes with a warning that there were no valid rows for range partitioning. This leaves the old segments in place and will lead to an infinite loop of compaction
Release note
Key changed/added classes in this PR
ParallelIndexSupervisorTaskThis PR has: