-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[Filebeat] Prevent mutable script params reference from leaking into pipeline #23534
[Filebeat] Prevent mutable script params reference from leaking into pipeline #23534
Conversation
A reference to a list contained in the `script` processor's `params` was leaking into the rest of the pipeline and then being modified by later processors. Now a copy of the List is written into the event. For concurrent processing this resulted in `ConcurrentModificationException`s, but I assume it led to incorrect `event.type` values in single worker deployments because the `params` object was modified.
Pinging @elastic/security-external-integrations (Team:Security-External Integrations) |
Just wondering, did we try this out with multiple workers and a large-ish log input to make sure no concurrent modification exceptions were thrown? |
I ran a test using 16 workers and saw no
|
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
…lastic#23534) A reference to a list contained in the `script` processor's `params` was leaking into the rest of the pipeline and then being modified by later processors. Now a copy of the List is written into the event. For concurrent processing this resulted in `ConcurrentModificationException`s, but I assume it led to incorrect `event.type` values in single worker deployments because the `params` object was modified. (cherry picked from commit c5e2cb3)
…eference from leaking into pipeline (#23535) A reference to a list contained in the `script` processor's `params` was leaking into the rest of the pipeline and then being modified by later processors. Now a copy of the List is written into the event. For concurrent processing this resulted in `ConcurrentModificationException`s, but I assume it led to incorrect `event.type` values in single worker deployments because the `params` object was modified. (cherry picked from commit c5e2cb3)
…lastic#23534) A reference to a list contained in the `script` processor's `params` was leaking into the rest of the pipeline and then being modified by later processors. Now a copy of the List is written into the event. For concurrent processing this resulted in `ConcurrentModificationException`s, but I assume it led to incorrect `event.type` values in single worker deployments because the `params` object was modified. (cherry picked from commit c5e2cb3)
…23534) (#23654) A reference to a list contained in the `script` processor's `params` was leaking into the rest of the pipeline and then being modified by later processors. Now a copy of the List is written into the event. For concurrent processing this resulted in `ConcurrentModificationException`s, but I assume it led to incorrect `event.type` values in single worker deployments because the `params` object was modified. (cherry picked from commit c5e2cb3)
What does this PR do?
A reference to a list contained in the
script
processor'sparams
wasleaking into the rest of the pipeline and then being modified by later
processors. Now a copy of the List is written into the event.
For concurrent processing this resulted in
ConcurrentModificationException
s,but I assume it led to incorrect
event.type
values in single worker deploymentsbecause the
params
object was modified.Why is it important?
This fixes processing issues when multiple workers or Filebeats are used.
Checklist
CHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.