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(promtail): correctly parse list of drop stage sources from YAML #10848

Merged

Conversation

rgroothuijsen
Copy link
Contributor

What this PR does / why we need it:
This PR fixes YAML parsing of the source field in the drop stage when said field is a list of strings. Because this list is not being recognized in the code as a list of strings, but rather as a list of generic interface{} elements, it fails a type check and throws an error. In order to fix this, an interface{} list is manually converted to a string list. The problem was already reproducible with existing tests, but the test YAML mistakenly referred to the field as sources rather than source.

Which issue(s) this PR fixes:
Fixes #10095

Special notes for your reviewer:

Checklist

  • Reviewed the CONTRIBUTING.md guide (required)
  • Documentation added
  • Tests updated
  • CHANGELOG.md updated
    • If the change is worth mentioning in the release notes, add add-to-release-notes label
  • 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

@rgroothuijsen rgroothuijsen requested a review from a team as a code owner October 10, 2023 20:35
@MichelHollands
Copy link
Contributor

@rgroothuijsen Thanks for this fix. Can you add an entry in the Promtail / Fixes section of CHANGELOG.md ? Once that is done I'll merge this.

Copy link
Contributor

@MichelHollands MichelHollands left a comment

Choose a reason for hiding this comment

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

LGTM

@MichelHollands MichelHollands merged commit f51ee84 into grafana:main Oct 12, 2023
4 checks passed
rhnasc pushed a commit to inloco/loki that referenced this pull request Apr 12, 2024
…rafana#10848)

**What this PR does / why we need it**:
This PR fixes YAML parsing of the `source` field in the drop stage when
said field is a list of strings. Because this list is not being
recognized in the code as a list of strings, but rather as a list of
generic `interface{}` elements, it fails a type check and throws an
error. In order to fix this, an `interface{}` list is manually converted
to a `string` list. The problem was already reproducible with existing
tests, but the test YAML mistakenly referred to the field as `sources`
rather than `source`.

**Which issue(s) this PR fixes**:
Fixes grafana#10095 

**Special notes for your reviewer**:

**Checklist**
- [x] Reviewed the
[`CONTRIBUTING.md`](https://github.com/grafana/loki/blob/main/CONTRIBUTING.md)
guide (**required**)
- [ ] Documentation added
- [x] Tests updated
- [ ] `CHANGELOG.md` updated
- [ ] If the change is worth mentioning in the release notes, add
`add-to-release-notes` label
- [ ] 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](grafana@d10549e)

---------

Co-authored-by: Michel Hollands <42814411+MichelHollands@users.noreply.github.com>
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.

Drop stage with multiple sources results in config unmarshall error
2 participants