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 new compaction max_block_bytes setting #520

Merged
merged 5 commits into from
Feb 10, 2021

Conversation

mdisibio
Copy link
Contributor

@mdisibio mdisibio commented Feb 10, 2021

What this PR does:
This PR starts the transition moving away from the trace-oriented max_compaction_objects setting to a data-oriented max_block_bytes setting. TimeWindowBlockSelector enforces this limit by simply summing the block data sizes added in #515 which is an estimate but accurate enough. For compatibility, max_compaction_objects remains as existing blocks may not yet have the new Size, but is deprecated and removed from examples.

Additionally, the TimeWindowBlockSelector was refactored to a (hopefully) simpler design that will accommodate more changes to compaction behavior in the future.

Which issue(s) this PR fixes:
n/a

Checklist

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

modules/compactor/config.go Outdated Show resolved Hide resolved
tempodb/compaction_block_selector.go Show resolved Hide resolved
@mdisibio mdisibio changed the title Add new compaction max_block_size setting Add new compaction max_block_bytes setting Feb 10, 2021
@mdisibio mdisibio merged commit 9264916 into grafana:master Feb 10, 2021
@mdisibio mdisibio deleted the compaction-block-selector-v2 branch May 27, 2021 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants