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

Deep merge event fields and metadata maps #17958

Merged
merged 7 commits into from
May 5, 2020

Conversation

ycombinator
Copy link
Contributor

@ycombinator ycombinator commented Apr 23, 2020

What does this PR do?

When merging an arbitrary map of metadata or fields into a beat.Event, we deep merge the event.Meta and event.Fields, respectively, while still respecting the overrideKeys boolean flag.

Why is it important?

Before this PR were were shallow-merging event.Meta and event.Fields. As a result, when the Filebeat log input was creating log.offset and log.file.path fields, if the the event already contained a log field, the event's log field would take complete precedence. Instead, what we want is for the event's log field and Filebeat's log field to be deep merged, while respecting the override boolean setting.

Checklist

  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in CHANGELOG.next.asciidoc or CHANGELOG-developer.next.asciidoc.

@ycombinator ycombinator requested review from urso and kvch April 23, 2020 22:25
@ycombinator ycombinator added bug Team:Services (Deprecated) Label for the former Integrations-Services team v7.7.1 v7.8.0 v8.0.0 labels Apr 23, 2020
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations-services (Team:Services)

@ycombinator ycombinator added needs_backport PR is waiting to be backported to other branches. [zube]: In Review labels Apr 23, 2020

// We have accounted for @timestamp, @metadata, type above. So let's remove these keys and
// deep update the event with the rest of the keys
delete(keys, "@timestamp")
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: How about using a for loop instead of calling delete three times?

for _, name := range []string{"@timestamp", "@metadata", "type"} {
    delete(keys, name)
}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Addressed in 4f1ee99ec.

@@ -77,6 +77,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Do not rotate log files on startup when interval is configured and rotateonstartup is disabled. {pull}17613[17613]
- Fix goroutine leak and Elasticsearch output file descriptor leak when output reloading is in use. {issue}10491[10491] {pull}17381[17381]
- Fix `setup.dashboards.index` setting not working. {pull}17749[17749]
- Arbitrary fields and metadata maps are now deep merged into event. {pull}17958[17958]
Copy link

Choose a reason for hiding this comment

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

nit; this PR looks it is improving/fixing some issue with the JSON parser (most likely json decoder processor only). Reading this changelog makes me think it is a generic bug in Beats :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated CHANGELOG in d27bb07.

@ycombinator ycombinator force-pushed the lb-jsonhelper-writejsonkeys branch 2 times, most recently from d27bb07 to cbb13b3 Compare April 25, 2020 17:54
@@ -200,6 +200,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Add optional regex based cid extractor to `add_kubernetes_metadata` processor. {pull}17360[17360]
- Add `urldecode` processor to for decoding URL-encoded fields. {pull}17505[17505]
- Add support for AWS IAM `role_arn` in credentials config. {pull}17658[17658] {issue}12464[12464]
- When using the `decode_json_fields` processor, decoded fields are now deep-merged into existing event. {pull}17958[17958]
Copy link

Choose a reason for hiding this comment

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

How about: Change decode_json_fields to merge parsed json objects with existing objects in the event instead of fully replacing them..

Would it make sense to treat this as a bug and add the changelog note to the bugfix section?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done in b7304af16.

@@ -275,6 +276,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Improve ECS categorization field mappings in postgresql module. {issue}16177[16177] {pull}17914[17914]
- Improve ECS categorization field mappings in rabbitmq module. {issue}16178[16178] {pull}17916[17916]
- Improve ECS categorization field mappings in redis module. {issue}16179[16179] {pull}17918[17918]
- When using the `json.*` setting available on some inputs, decoded fields are now deep-merged into existing event. {pull}17958[17958]
Copy link

Choose a reason for hiding this comment

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

let's adapt this changelog entry as well :)

Copy link
Contributor Author

@ycombinator ycombinator Apr 28, 2020

Choose a reason for hiding this comment

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

Done in 4b2cd165bc979fdaa7720f7d88d3a2ecd134d143.

@ycombinator ycombinator force-pushed the lb-jsonhelper-writejsonkeys branch 2 times, most recently from 4b2cd16 to df10f8f Compare April 30, 2020 23:43
@elasticmachine
Copy link
Collaborator

elasticmachine commented May 1, 2020

💔 Build Failed

Pipeline View Test View Changes Artifacts preview stats

Expand to view the summary

Build stats

Test stats 🧪

Test Results
Failed 1
Passed 7704
Skipped 1212
Total 8917

Test errors

Expand to view the tests failures

  • Name: Build and Test / Filebeat Windows / test_tail_files – test_crawler.Test

    • Status: FAILED
    • Age: 1
    • Duration: 16.24
    • Error Details: Timeout waiting for 'cond' to be true. Waited 15 seconds.

Steps errors

Expand to view the steps failures

  • Name: Mage build unitTest
    • Description: mage build unitTest

    • Result: FAILURE

    • Duration: 10 min 50 sec<

    • Start Time: 2020-05-05T01:15:43.234+0000

Log output

Expand to view the last 100 lines of log output

[2020-05-05T02:09:41.610Z] + '[' -f metricbeat/build/coverage/full.cov ']'
[2020-05-05T02:09:41.610Z] + for i in auditbeat filebeat heartbeat libbeat metricbeat packetbeat winlogbeat journalbeat
[2020-05-05T02:09:41.610Z] + FILE=packetbeat/build/coverage/full.cov
[2020-05-05T02:09:41.610Z] + '[' -f packetbeat/build/coverage/full.cov ']'
[2020-05-05T02:09:41.610Z] + for i in auditbeat filebeat heartbeat libbeat metricbeat packetbeat winlogbeat journalbeat
[2020-05-05T02:09:41.610Z] + FILE=winlogbeat/build/coverage/full.cov
[2020-05-05T02:09:41.610Z] + '[' -f winlogbeat/build/coverage/full.cov ']'
[2020-05-05T02:09:41.610Z] + for i in auditbeat filebeat heartbeat libbeat metricbeat packetbeat winlogbeat journalbeat
[2020-05-05T02:09:41.611Z] + FILE=journalbeat/build/coverage/full.cov
[2020-05-05T02:09:41.611Z] + '[' -f journalbeat/build/coverage/full.cov ']'
[2020-05-05T02:09:43.400Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats
[2020-05-05T02:09:43.734Z] + find . -type f -name TEST*.xml -path */build/* -delete
[2020-05-05T02:09:43.750Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Lint
[2020-05-05T02:09:43.850Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Elastic-Agent-Mac-OS-X
[2020-05-05T02:09:43.942Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Elastic-Agent-x-pack
[2020-05-05T02:09:44.033Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Dockerlogbeat
[2020-05-05T02:09:44.137Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Winlogbeat-oss
[2020-05-05T02:09:44.252Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Elastic-Agent-x-pack-Windows
[2020-05-05T02:09:44.355Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Generators-Metricbeat-Linux
[2020-05-05T02:09:44.465Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Functionbeat-x-pack
[2020-05-05T02:09:44.565Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Journalbeat-oss
[2020-05-05T02:09:44.691Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-Mac-OS-X
[2020-05-05T02:09:44.795Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Filebeat-Mac-OS-X
[2020-05-05T02:09:44.986Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-OSS-Unit-tests
[2020-05-05T02:09:45.133Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Winlogbeat-Windows-x-pack
[2020-05-05T02:09:45.248Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-crosscompile
[2020-05-05T02:09:45.361Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Heartbeat-oss
[2020-05-05T02:09:45.472Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Auditbeat-x-pack
[2020-05-05T02:09:45.564Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Filebeat-Windows
[2020-05-05T02:09:45.657Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Libbeat-x-pack
[2020-05-05T02:09:45.760Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Functionbeat-Mac-OS-X-x-pack
[2020-05-05T02:09:45.877Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Packetbeat-oss
[2020-05-05T02:09:45.988Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Auditbeat-Linux
[2020-05-05T02:09:46.112Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Heartbeat-Mac-OS-X
[2020-05-05T02:09:46.230Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-Windows
[2020-05-05T02:09:46.339Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Auditbeat-crosscompile
[2020-05-05T02:09:46.429Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Winlogbeat-Windows
[2020-05-05T02:09:46.515Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Filebeat-x-pack
[2020-05-05T02:09:46.581Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Auditbeat-Mac-OS-X
[2020-05-05T02:09:46.677Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Generators-Beat-Linux
[2020-05-05T02:09:46.765Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Filebeat-oss
[2020-05-05T02:09:46.848Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Heartbeat-Windows
[2020-05-05T02:09:46.949Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Functionbeat-Windows
[2020-05-05T02:09:47.015Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-OSS-Integration-tests
[2020-05-05T02:09:47.095Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Libbeat-oss
[2020-05-05T02:09:47.197Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-Python-integration-tests
[2020-05-05T02:09:47.284Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Auditbeat-Windows
[2020-05-05T02:09:47.368Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Libbeat-crosscompile
[2020-05-05T02:09:47.446Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Generators-Metricbeat-Mac-OS-X
[2020-05-05T02:09:47.527Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack
[2020-05-05T02:09:47.615Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Libbeat-stress-tests
[2020-05-05T02:09:47.689Z] Running in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Generators-Beat-Mac-OS-X
[2020-05-05T02:09:48.076Z] + cat
[2020-05-05T02:09:48.077Z] + /usr/local/bin/runbld ./runbld-script
[2020-05-05T02:09:48.077Z] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
[2020-05-05T02:09:54.696Z] runbld>>> runbld started
[2020-05-05T02:09:54.696Z] runbld>>> 1.6.11/a66728ff8f4356963772e6e6d2069392fa06acbe
[2020-05-05T02:09:55.639Z] runbld>>> The following profiles matched the job 'Beats/beats-beats-mbp/PR-17958' in order of occurrence in the config (last value wins).
[2020-05-05T02:09:57.021Z] runbld>>> Debug logging enabled.
[2020-05-05T02:09:57.021Z] runbld>>> Storing result
[2020-05-05T02:09:57.021Z] runbld>>> Store result: created {:total 2, :successful 2, :failed 0} 1
[2020-05-05T02:09:57.021Z] runbld>>> BUILD: https://c150076387b5421f9154dfbf536e5c60.us-west1.gcp.cloud.es.io:9243/build-1587637540455/t/20200505020956-BDF1E21B
[2020-05-05T02:09:57.021Z] runbld>>> Adding system facts.
[2020-05-05T02:09:57.962Z] runbld>>> Adding vcs info for the latest commit:  2a9821b941c1d6963a75f54dce2a090bad3e6ac7
[2020-05-05T02:09:57.962Z] runbld>>> >>>>>>>>>>>> SCRIPT EXECUTION BEGIN >>>>>>>>>>>>
[2020-05-05T02:09:57.962Z] runbld>>> Adding /usr/lib/jvm/java-8-openjdk-amd64/bin to the path.
[2020-05-05T02:09:57.962Z] + echo 'Processing JUnit reports with runbld...'
[2020-05-05T02:09:57.962Z] Processing JUnit reports with runbld...
[2020-05-05T02:09:58.533Z] runbld>>> <<<<<<<<<<<< SCRIPT EXECUTION END <<<<<<<<<<<<
[2020-05-05T02:09:58.533Z] runbld>>> DURATION: 16ms
[2020-05-05T02:09:58.533Z] runbld>>> STDOUT: 40 bytes
[2020-05-05T02:09:58.533Z] runbld>>> STDERR: 49 bytes
[2020-05-05T02:09:58.533Z] runbld>>> WRAPPED PROCESS: SUCCESS (0)
[2020-05-05T02:09:58.533Z] runbld>>> Searching for build metadata in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats
[2020-05-05T02:09:59.977Z] runbld>>> Storing build metadata: 
[2020-05-05T02:09:59.977Z] runbld>>> Adding test report.
[2020-05-05T02:09:59.977Z] runbld>>> Searching for junit test output files with the pattern: TEST-.*\.xml$ in: /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats
[2020-05-05T02:10:00.918Z] runbld>>> Found 102 test output files
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-openmetrics.xml
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-istio.xml
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-iis.xml
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-activemq.xml
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-tomcat.xml
[2020-05-05T02:10:01.489Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-x-pack/x-pack/metricbeat/build/TEST-go-integration-cloudfoundry.xml
[2020-05-05T02:10:02.434Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-OSS-Integration-tests/metricbeat/build/TEST-go-integration-windows.xml
[2020-05-05T02:10:02.434Z] runbld>>> No testsuite node found in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958/src/github.com/elastic/beats/Metricbeat-OSS-Integration-tests/metricbeat/build/TEST-go-integration-graphite.xml
[2020-05-05T02:10:03.005Z] runbld>>> Test output logs contained: Errors: 1 Failures: 0 Tests: 8767 Skipped: 1008
[2020-05-05T02:10:03.005Z] runbld>>> Storing result
[2020-05-05T02:10:03.005Z] runbld>>> FAILURES: 1
[2020-05-05T02:10:03.592Z] runbld>>> Store result: updated {:total 2, :successful 2, :failed 0} 2
[2020-05-05T02:10:03.593Z] runbld>>> BUILD: https://c150076387b5421f9154dfbf536e5c60.us-west1.gcp.cloud.es.io:9243/build-1587637540455/t/20200505020956-BDF1E21B
[2020-05-05T02:10:03.593Z] runbld>>> Email notification disabled by environment variable.
[2020-05-05T02:10:03.593Z] runbld>>> Slack notification disabled by environment variable.
[2020-05-05T02:10:09.127Z] Running on Jenkins in /var/lib/jenkins/workspace/Beats_beats-beats-mbp_PR-17958
[2020-05-05T02:10:09.254Z] [INFO] getVaultSecret: Getting secrets
[2020-05-05T02:10:09.315Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-05-05T02:10:09.951Z] + chmod 755 generate-build-data.sh
[2020-05-05T02:10:09.951Z] + ./generate-build-data.sh https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats-beats-mbp/PR-17958/ https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats-beats-mbp/PR-17958/runs/13 FAILURE 6421991
[2020-05-05T02:10:10.502Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats-beats-mbp/PR-17958/runs/13/steps/?limit=10000 -o steps-info.json
[2020-05-05T02:10:11.412Z] INFO: curl https://beats-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/Beats/beats-beats-mbp/PR-17958/runs/13/tests/?status=FAILED -o tests-errors.json

@ycombinator ycombinator force-pushed the lb-jsonhelper-writejsonkeys branch from df10f8f to 2e10719 Compare May 4, 2020 21:24
@ycombinator ycombinator force-pushed the lb-jsonhelper-writejsonkeys branch from 2e10719 to 2a9821b Compare May 5, 2020 00:22
@ycombinator
Copy link
Contributor Author

Jenkins CI failures are unrelated and Travis CI is green. Merging.

@ycombinator ycombinator merged commit 25a813e into elastic:master May 5, 2020
@ycombinator ycombinator deleted the lb-jsonhelper-writejsonkeys branch May 5, 2020 09:10
ycombinator added a commit that referenced this pull request May 5, 2020
* Deep merge event fields and metadata maps (#17958)

* Deep merge event fields and metadata maps

* Add CHANGELOG entry

* Use loop to remove keys; extract into function

* Relocating CHANGELOG entry

* Rewording and moving to bugfix section per review feedback

* Adapting other CHANGELOG entry

* Fix comparison in test

* Fixing up CHANGELOG

* Cleaning up CHANGELOG

* Fixing up CHANGELOG

* Fixing up CHANGELOG
ycombinator added a commit that referenced this pull request May 5, 2020
* Deep merge event fields and metadata maps (#17958)

* Deep merge event fields and metadata maps

* Add CHANGELOG entry

* Use loop to remove keys; extract into function

* Relocating CHANGELOG entry

* Rewording and moving to bugfix section per review feedback

* Adapting other CHANGELOG entry

* Fix comparison in test

* Fixing up CHANGELOG

* Fixing up CHANGELOG
leweafan pushed a commit to leweafan/beats that referenced this pull request Apr 28, 2023
…tic#18231)

* Deep merge event fields and metadata maps (elastic#17958)

* Deep merge event fields and metadata maps

* Add CHANGELOG entry

* Use loop to remove keys; extract into function

* Relocating CHANGELOG entry

* Rewording and moving to bugfix section per review feedback

* Adapting other CHANGELOG entry

* Fix comparison in test

* Fixing up CHANGELOG

* Cleaning up CHANGELOG

* Fixing up CHANGELOG

* Fixing up CHANGELOG
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug needs_backport PR is waiting to be backported to other branches. Team:Services (Deprecated) Label for the former Integrations-Services team v7.7.1 v7.8.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants