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

Cherry-pick #5149 to 6.0: Reorder processors in publisher pipeline #5165

Merged
merged 1 commit into from
Sep 12, 2017

Conversation

urso
Copy link

@urso urso commented Sep 12, 2017

Cherry-pick of PR #5149 to 6.0 branch. Original message:

  • reorder processors, such that the beat namespace can not be removed from client processors
  • remove support for EventsMetadataKey
  • combine client internal field updates and configured field updates into one dictionary
  • combine proessors for adding client and global fields+tags if no client processors are configured
  • Do not Clone (deep copy) fields being added in the pipeline if no processors are configured.

* Reorder processors pipeline order

- reorder processors, such that all client processors run before the
  global processors
- remove support for EventsMetadataKey

* Combine fields and tags if possible

- combine client internal field updates and configured field updates
  into one dictionary
- combine proessors for adding client and global fields+tags if no
  client processors are configured

* Do not copy if no processors are defined

Do not Clone (deep copy) fields being added in the pipeline if no
processors are configured.

As processors might add/remove fields and potentially modify shared
field objects, these must be copied if there is a chance global shared
structured being overwritten by processors. Especially if processors are
guarded by conditions.

* Fix processors order once again

Problem is local fields+tags must be applied after the globaly
configured fields and tests, while client processors must be run before
the global ones.

* review

- use 'disabled' flag
- simplify pipeline fields init

(cherry picked from commit 6082603)
@andrewkroh andrewkroh merged commit e249754 into elastic:6.0 Sep 12, 2017
@urso urso deleted the backport_5149_6.0 branch February 19, 2019 18:39
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
* Reorder processors pipeline order

- reorder processors, such that all client processors run before the
  global processors
- remove support for EventsMetadataKey

* Combine fields and tags if possible

- combine client internal field updates and configured field updates
  into one dictionary
- combine proessors for adding client and global fields+tags if no
  client processors are configured

* Do not copy if no processors are defined

Do not Clone (deep copy) fields being added in the pipeline if no
processors are configured.

As processors might add/remove fields and potentially modify shared
field objects, these must be copied if there is a chance global shared
structured being overwritten by processors. Especially if processors are
guarded by conditions.

* Fix processors order once again

Problem is local fields+tags must be applied after the globaly
configured fields and tests, while client processors must be run before
the global ones.

* review

- use 'disabled' flag
- simplify pipeline fields init

(cherry picked from commit b66abfe)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants