Cherry-pick #13914 to 7.4: Field registry: Don't overwrite fields with same name #14037
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.
Cherry-pick of PR #13914 to 7.4 branch. Original message:
When fields are registered (fields.go, autogenerated), they are grouped by (Beatname, Name and Priority). Currently, if the same triplet is used more than once, the previous asset is overwritten. This causes the internal template inside the Beat to lose fields, and its hard to detect because the generated
fields.yml
contains all the fields.This is the case with Filebeat inputs and modules sharing the same name:
module/netflow/fields.go:
input/netflow/fields.go:
Also this introduces an inconsistence as the order of registration can vary, so a build might or might not have the fields depending on the order the packages are built.
Fixes #13768