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 ndjson parser to store JSON fields correctly under target #36089

Merged
merged 6 commits into from
Jul 20, 2023

Conversation

zipperle
Copy link
Contributor

What does this PR do?

Stores the JSON fields in a nested way if the target of the ndjson parser contains a dotted key, e.g.

the following config:

parsers:
- ndjson:
    add_error_key: true
    target: kubernetes.audit

leads to this result:

"kubernetes": {
   "audit": {
      "userAgent": ...,

instead of this:

"kubernetes.audit": {
   "userAgent": ...
    ...
}

Why is it important?

Fixes unexpected behavior.

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.

Author's Checklist

  • [ ]

How to test this PR locally

Tested with a unit test.

Related issues

Use cases

Screenshots

Logs

@zipperle zipperle requested a review from a team as a code owner July 17, 2023 19:47
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Jul 17, 2023
@mergify
Copy link
Contributor

mergify bot commented Jul 17, 2023

This pull request does not have a backport label.
If this is a bug or security fix, could you label this PR @zipperle? 🙏.
For such, you'll need to label your PR with:

  • The upcoming major version of the Elastic Stack
  • The upcoming minor version of the Elastic Stack (if you're not pushing a breaking change)

To fixup this pull request, you need to add the backport labels for the needed
branches, such as:

  • backport-v8./d.0 is the label to automatically backport to the 8./d branch. /d is the digit

@elasticmachine
Copy link
Collaborator

elasticmachine commented Jul 17, 2023

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2023-07-20T12:26:20.353+0000

  • Duration: 69 min 15 sec

Test stats 🧪

Test Results
Failed 0
Passed 27537
Skipped 2029
Total 29566

💚 Flaky test report

Tests succeeded.

🤖 GitHub comments

Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • /package : Generate the packages and run the E2E tests.

  • /beats-tester : Run the installation tests with beats-tester.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@ycombinator ycombinator added the Team:Elastic-Agent Label for the Agent team label Jul 17, 2023
@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent (Team:Elastic-Agent)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Jul 17, 2023
@ycombinator
Copy link
Contributor

/test

@ycombinator
Copy link
Contributor

/test

@ycombinator
Copy link
Contributor

@zipperle Left a minor comment about the CHANGELOG entry. Also, I rebased this PR on main a couple of times, so you'll want to pull down the PR's branch from your remote first before making any further changes.

@zipperle
Copy link
Contributor Author

@ycombinator thanks for the hint, I moved the changelog entry accordingly.

@ycombinator
Copy link
Contributor

/test

@ycombinator
Copy link
Contributor

/test

@mergify
Copy link
Contributor

mergify bot commented Jul 20, 2023

This pull request is now in conflicts. Could you fix it? 🙏
To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/

git fetch upstream
git checkout -b main upstream/main
git merge upstream/main
git push upstream main

@ycombinator
Copy link
Contributor

/test

@ycombinator ycombinator enabled auto-merge (squash) July 20, 2023 18:25
Copy link
Contributor

@ycombinator ycombinator left a comment

Choose a reason for hiding this comment

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

LGTM. Thanks for the contribution, @zipperle!

@ycombinator ycombinator merged commit 2aba00a into elastic:main Jul 20, 2023
6 of 8 checks passed
@ycombinator ycombinator added the backport-v8.9.0 Automated backport with mergify label Jul 20, 2023
mergify bot pushed a commit that referenced this pull request Jul 20, 2023
* Fix ndjson parser to store JSON fields correctly under target

* Update CHANGELOG.next.asciidoc

* Move the change log entry to the right section

---------

Co-authored-by: Shaunak Kashyap <[email protected]>
(cherry picked from commit 2aba00a)
Scholar-Li pushed a commit to Scholar-Li/beats that referenced this pull request Feb 5, 2024
…tic#36089)

* Fix ndjson parser to store JSON fields correctly under target

* Update CHANGELOG.next.asciidoc

* Move the change log entry to the right section

---------

Co-authored-by: Shaunak Kashyap <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport-v8.9.0 Automated backport with mergify Team:Elastic-Agent Label for the Agent team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ndjson parser: json fields are stored not correctly under target
3 participants