Cancel compaction when visit marker detects plan inconsistency #7193
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.
What this PR does:
This PR adds a compaction plan consistency check in the visit marker heartbeat and cancels the compaction context if the plan is deemed inconsistent. For partition compaction jobs, inconsistency means that the partition group info creation time recorded by the visit marker is different than the creation time for the partition group info file stored in remote storage. This could happen if the partition plan was recreated by a different compactor while the current compaction is still running.
Canceling the context will abort all compactions for the user but that's ok because Cortex only does 1 user compaction job at a time so it would only affect the current job.
Which issue(s) this PR fixes:
Fixes #7135
Checklist
CHANGELOG.mdupdated - the order of entries should be[CHANGE],[FEATURE],[ENHANCEMENT],[BUGFIX]