-
Notifications
You must be signed in to change notification settings - Fork 630
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
Distributor ingestion limits #3879
Conversation
d425ca6
to
44483c4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I think sorting out the docs would be good, otherwise I think this is ready to go
@@ -2020,6 +2020,20 @@ The `limits` block configures default and per-tenant limits imposed by component | |||
# CLI flag: -distributor.ingestion-burst-size-mb | |||
[ingestion_burst_size_mb: <float> | default = 2] | |||
|
|||
ingestion_limit: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can set an advanced or experimental struct tag, to not have it appear here.
Alternatively we should fill this with more description.
Mimir does that: https://github.com/grafana/mimir/blob/ae924bf9a2f373a600dce34c078a9602929dd480/pkg/util/validation/limits.go#L107
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
I just tried, the advanced and experimental category don't seem to make a difference (it still gets generated). Setting doc:"hidden"
removes it which I think makes sense considering we will likely move this config to object storage.
44483c4
to
571ec08
Compare
Adds a way for distributors to stop allowing requests through, controlled via a tenant override. The tenant override is defined as:
For now, an external system will manage the tenant overrides, in the future we might create a special component for this. Once the limit is reached (
ingestion_limit.limit_reached == true
):resource_exhausted: limit of 1 GiB/hour reached, next reset at 2025-01-30T22:00:00Z