-
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
Fix Kafka input for filebeat #30277
Fix Kafka input for filebeat #30277
Conversation
The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there.
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
The 8.0 GA release date is on Feb 10th so it feels too risky to backport this into that branch until after that date. @jlind23 any thoughts on where we should backport this change? |
@cmacknz we should backport it all the way down to 7.17.. |
LGTM, as mentioned previously don't merge the 8.0 backport until after February 10th when the release happens. I'd also wait for @faec to take a look before merging :) |
💔 Tests Failed
Expand to view the summary
Build stats
Test stats 🧪
Test errorsExpand to view the tests failures> Show only the first 10 test failures
|
/test |
The failed python tests seem to be broken for unrelated reasons (timeouts). They started failing in earlier PRs. |
The latest changes look fine to me. I agree the test failures are unrelated and shouldn't block merging this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great, thank you!
The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de)
The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de)
The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de)
The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de) Co-authored-by: Denis Rechkunov <[email protected]>
* Fix Kafka input for filebeat (#30277) The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de) * Fix missing struct field * Add a delay for sarama to commit * Add support for empty partitions Co-authored-by: Denis Rechkunov <[email protected]>
* Fix Kafka input for filebeat (#30277) The Kafka input was broken and had 2 issues: A serialization error on filebeat output: Looks like the ack function was put in the `reader.Message.Meta` map by mistake in 20d6038 `Meta` is a `MapStr` type that does not support function values, therefore fails to serialize itself when requested later on output. `ack` was not called for incoming messages: The ack function was never used because it was supposed to be a part of the `beat.Event.Private` and it was not put in there. (cherry picked from commit c2f51de) * Add a delay so sarama has time to commit * Add support for empty partitions Co-authored-by: Denis Rechkunov <[email protected]>
What does this PR do?
The Kafka input was broken and had 2 issues:
A serialization error on filebeat output:
Looks like the ack function was put in the
reader.Message.Meta
map by mistake in20d6038
Meta
is aMapStr
type that does not support function values, therefore fails toserialize itself when requested later on output.
ack
was not called for incoming messages:The ack function was never used because it was supposed
to be a part of the
beat.Event.Private
and it was not put in there.Why is it important?
We have reports from customers that the Kafka input is completely broken starting with v7.16.2
Checklist
- [ ] I have made corresponding changes to the documentation- [ ] I have made corresponding change to the default configuration filesCHANGELOG.next.asciidoc
orCHANGELOG-developer.next.asciidoc
.How to test this PR locally
mind the
"/Path/To/Your/LogDir"
path that you need to adjustBefore this change this was failing with:
"/Path/To/Your/LogDir"
and remove all the files in that directoryRelated issues