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

fix: support multi-zone ingesters when converting global to local limits for streams in limiter.go #13321

Conversation

JordanRushing
Copy link
Contributor

@JordanRushing JordanRushing commented Jun 25, 2024

What this PR does / why we need it:

Updates the calculation for stream limits to support multi-zone ingester deployments while maintaining the old logic for single-zone deployments.

re:

Which issue(s) this PR fixes:

N/A

Special notes for your reviewer:

Requires grafana/dskit#526 to be merged and the version of dskit used by Loki to be updated to support HealthyInstancesInZoneCount()

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • Title matches the required conventional commits format, see here
    • Note that Promtail is considered to be feature complete, and future development for logs collection will be in Grafana Alloy. As such, feat PRs are unlikely to be accepted unless a case can be made for the feature actually being a bug fix to existing behavior.
  • Changes that require user attention or interaction to upgrade are documented in docs/sources/setup/upgrade/_index.md
  • For Helm chart changes bump the Helm chart version in production/helm/loki/Chart.yaml and update production/helm/loki/CHANGELOG.md and production/helm/loki/README.md. Example PR
  • If the change is deprecating or removing a configuration option, update the deprecated-config.yaml and deleted-config.yaml files respectively in the tools/deprecated-config-checker directory. Example PR

…or streams in limiter.go

Signed-off-by: JordanRushing <[email protected]>
@JordanRushing JordanRushing self-assigned this Jun 25, 2024
@JordanRushing JordanRushing changed the title Support multi-zone ingesters when converting global to local limits for streams in limiter.go fix: support multi-zone ingesters when converting global to local limits for streams in limiter.go Jun 25, 2024
Copy link
Contributor

@vlad-diachenko vlad-diachenko left a comment

Choose a reason for hiding this comment

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

do not pass local limit into convertGlobalToLocalLimit function

pkg/ingester/limiter.go Outdated Show resolved Hide resolved
pkg/ingester/limiter.go Outdated Show resolved Hide resolved
pkg/ingester/limiter.go Outdated Show resolved Hide resolved
…limit test; go mod vendor & go mod tidy

Signed-off-by: JordanRushing <[email protected]>
@pull-request-size pull-request-size bot added size/L and removed size/M labels Jun 26, 2024
@JordanRushing JordanRushing marked this pull request as ready for review June 26, 2024 19:20
@JordanRushing JordanRushing requested a review from a team as a code owner June 26, 2024 19:20
Copy link
Contributor

@vlad-diachenko vlad-diachenko left a comment

Choose a reason for hiding this comment

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

please apply minor fix in the comment

pkg/ingester/limiter.go Outdated Show resolved Hide resolved
@JordanRushing JordanRushing merged commit e28c15f into grafana:main Jun 27, 2024
60 checks passed
JordanRushing added a commit to JordanRushing/loki that referenced this pull request Jul 15, 2024
Ingester stream limits now take into account "owned streams" and periodically
update when the Ingester ring is changed. Non-owned streams are now also
flushed when this update takes place. The stream limit calculation has also been updated for improved
accuracy in multi-zone ingester deployments.

Relevant PRs:
- grafana#13006
- grafana#13030
- grafana#13232
- grafana#13103
- grafana#13231
- grafana#13254
- grafana#13314
- grafana#13321
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants