Skip to content

Conversation

jhalterman
Copy link
Contributor

@jhalterman jhalterman commented Sep 19, 2025

What this PR does

This PR replaces Mimir's internal reactive limiter with a wrapper around Failsafe-go's adaptive limiter, which has moved ahead in terms of maturity. It also uses Failsafe-go's Prioritizer.

Which issue(s) this PR fixes or relates to

Fixes #

Checklist

  • Tests updated.
  • Documentation added.
  • CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]. If changelog entry is not needed, please add the changelog-not-needed label to the PR.
  • about-versioning.md updated with experimental features.

@jhalterman jhalterman force-pushed the failsafe-go-reactive-limiter branch 4 times, most recently from befab9c to 47a27ad Compare September 19, 2025 22:06
@jhalterman jhalterman changed the title Replace the internal reactivelimiter with the Failsafe-go adaptivelimiter and Prioritizer Replace the internal reactivelimiter with a wrapped Failsafe-go limiter Sep 20, 2025
@jhalterman jhalterman force-pushed the failsafe-go-reactive-limiter branch 3 times, most recently from b9c84a1 to 189a2e9 Compare September 25, 2025 22:43
@jhalterman jhalterman marked this pull request as ready for review September 25, 2025 22:46
@jhalterman jhalterman requested review from stevesg, a team and tacole02 as code owners September 25, 2025 22:46
@jhalterman jhalterman force-pushed the failsafe-go-reactive-limiter branch from 189a2e9 to 2532375 Compare September 25, 2025 22:57
Copy link
Contributor

@tacole02 tacole02 left a comment

Choose a reason for hiding this comment

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

Docs look good! Thank you!

@jhalterman jhalterman force-pushed the failsafe-go-reactive-limiter branch from 8bd5925 to 37de024 Compare September 26, 2025 22:59
@duricanikolic
Copy link
Contributor

Overall the change looks good to me.
The only thing I would ask you to change is to replace the old configuration flags from about-versioning.md with the new ones.

Copy link
Contributor

@duricanikolic duricanikolic left a comment

Choose a reason for hiding this comment

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

LGTM
Thank you

@jhalterman jhalterman merged commit e64c326 into grafana:main Oct 2, 2025
61 of 62 checks passed
@jhalterman jhalterman deleted the failsafe-go-reactive-limiter branch October 2, 2025 16:36
jhalterman added a commit that referenced this pull request Oct 2, 2025
…er (#12773)

<!--  Thanks for sending a pull request!  Before submitting:

1. Read our CONTRIBUTING.md guide
2. Rebase your PR if it gets out of sync with main
-->

#### What this PR does

This PR replaces Mimir's internal reactive limiter with a wrapper around
Failsafe-go's [adaptive
limiter](https://failsafe-go.dev/adaptive-limiter/), which has moved
ahead in terms of maturity. It also uses Failsafe-go's
[Prioritizer](https://failsafe-go.dev/execution-prioritization/).

#### Which issue(s) this PR fixes or relates to

Fixes #<issue number>

#### Checklist

- [ ] Tests updated.
- [x] Documentation added.
- [x] `CHANGELOG.md` updated - the order of entries should be
`[CHANGE]`, `[FEATURE]`, `[ENHANCEMENT]`, `[BUGFIX]`. If changelog entry
is not needed, please add the `changelog-not-needed` label to the PR.
- [ ]
[`about-versioning.md`](https://github.com/grafana/mimir/blob/main/docs/sources/mimir/configure/about-versioning.md)
updated with experimental features.
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.

3 participants