[v10.2.x] Loki: Fix bug duplicating parsed labels across multiple log lines #80368
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport e1aa8a9 from #80292
What is this feature?
With the addition of the categorization of labels we were mutating the "main" labels object and adding parsed labels per logline to that object. Instead we needed to copy the indexed labels for each log line. This PR adds a fix and test cases.
Special notes for your reviewer:
Start Grafana and the Loki devenv
Do a query like
{place="luna"} |logfmt| line_format "label{{ .label }}={{ unixEpochMillis now }}" | logfmt
Without the fix you should see log lines like this:
And when opening the details you will see duplicated labels, e.g.
labelval1
andlabelval3
eventhough the logline does only contain one of the labels.With the fix you will only see the label from that one log line.