Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cleaner logic to clean partition compaction blocks and related files #6507

Merged

Conversation

alexqyle
Copy link
Contributor

What this PR does:

Added extra logic in block cleaner to handle partitioning compaction related logic. Cleaner would delete compacted blocks from partitioning compaction because partitioning compaction will not delete any parent blocks on compaction complete since those parent blocks would be used to compact other partition from the same time range. Cleaner would use partition group info file along with partition visit marker to determine if parent blocks can be deleted or not. Cleaner also would delete partition group info file and partition visit marker accordingly.

Which issue(s) this PR fixes:
Fixes #

Checklist

  • Tests updated
  • Documentation added
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

Copy link
Contributor

@danielblando danielblando left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: Alex Le <[email protected]>
})

if err != nil {
level.Warn(userLogger).Log("msg", "error return when going through partitioned group directory", "err", err)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see we return any error in the iter function above. Is this error mainly failure of listing files in the bucket?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right. In this code, we try to get as many as partition group info files. If there is any issue inside iter function, we just stop and processing what we got. Any retriable error would be covered by next cleaner cycle.

Signed-off-by: Alex Le <[email protected]>
@danielblando danielblando merged commit f9055cc into cortexproject:master Jan 15, 2025
17 checks passed
@alexqyle alexqyle deleted the partition-compaction-cleaner branch January 15, 2025 21:58
alexqyle added a commit to alexqyle/cortex that referenced this pull request Jan 31, 2025
…les (cortexproject#6507)

* Add cleaner logic to clean partition compaction blocks and related files

Signed-off-by: Alex Le <[email protected]>

* refactored metrics

Signed-off-by: Alex Le <[email protected]>

* refactor

Signed-off-by: Alex Le <[email protected]>

* update logs

Signed-off-by: Alex Le <[email protected]>

---------

Signed-off-by: Alex Le <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants