Skip to content

Conversation

@zalegrala
Copy link
Contributor

@zalegrala zalegrala commented Jul 8, 2025

What this PR does:

With the new scheduled compactions, we're observing that jobs handed out in sequence of difficulty often mean that the jobs are too easy for workers to complete, which results in lower throughput because the scheduler has to spend more time scheduling and handling the jobs. Eventually the jobs handed out are more difficult, but it can take some time before this happens, which results in a valley of low throughput. This may happen at the beginning of working on a new tenant, for example, and in a large environment with many tenants, the performance is sub-optimal. I believe this warrants an allowable configuration on the compaction provider, proposed here.

Historically, the min/max input blocks have been hard-coded to match the parquet version performance. It would be easy to try and compact too many blocks and drive memory use while combining. Looking at the memory and some recent improvements in the compaction process, I think we can begin to think about allowing this to be configurable.

Users should go slow and think hard about changing these defaults.

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

@mapno mapno left a comment

Choose a reason for hiding this comment

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

Can you add a chlog entry?

@zalegrala zalegrala merged commit 7e97f4d into grafana:main Jul 9, 2025
51 of 54 checks passed
@zalegrala zalegrala deleted the schedulerCompactionInputBlockConfig branch July 9, 2025 15:36
knylander-grafana pushed a commit to knylander-grafana/tempo-doc-work that referenced this pull request Jul 18, 2025
…rafana#5373)

* Allow configuration of min/max input blocks for compaction provider

* Update changelog
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.

2 participants