Skip to content

Conversation

@chaudum
Copy link
Contributor

@chaudum chaudum commented Jun 25, 2024

What this PR does / why we need it:

The slice of block queriers can contain nil values, which causes nip pointer dereference when calling Close() on them.

The regression was introduced with PR #13288

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
The slice of block queriers can contain `nil` values, which causes nip
pointer dereference when calling `Close()` on them.

The regression was introduced with PR #13288

Signed-off-by: Christian Haudum <christian.haudum@gmail.com>
@chaudum chaudum requested a review from a team as a code owner June 25, 2024 07:10
Copy link
Contributor

@grobinson-grafana grobinson-grafana left a comment

Choose a reason for hiding this comment

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

LGTM as a hotfix! Can we avoid inserting nil values into the slice instead as a long-term fix or is there a good reason for doing that?

@chaudum
Copy link
Contributor Author

chaudum commented Jun 25, 2024

LGTM as a hotfix! Can we avoid inserting nil values into the slice instead as a long-term fix or is there a good reason for doing that?

There is a reason why we have nil values in the slice: The block queriers are obtained from the bloom store based on a list of block refs, and the result list needs to match the order of the input list. nil values indicate that a block is not available for a given block ref.

@chaudum chaudum merged commit 66f97b2 into main Jun 25, 2024
@chaudum chaudum deleted the chaudum/fix-panic-bloomgateway branch June 25, 2024 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2 participants