-
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
add support for kinesis record deaggregation in functionbeat #28241
add support for kinesis record deaggregation in functionbeat #28241
Conversation
- tests are heavily based on record generation in https://github.com/awslabs/kinesis-aggregation/blob/master/go/deaggregator/deaggregator_test.go - had to add AWS SDK v1 due to current kinesis-aggregation support (there is an open PR that adds v2 support)
This pull request does not have a backport label. Could you fix it @jpaskhay? 🙏
NOTE: |
❕ Build Aborted
Expand to view the summary
Build stats
🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
This pull request is now in conflicts. Could you fix it? 🙏
|
…sis-deaggregation
Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane) |
@@ -31,8 +31,10 @@ require ( | |||
github.com/apoydence/eachers v0.0.0-20181020210610-23942921fe77 // indirect | |||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 | |||
github.com/aws/aws-lambda-go v1.13.3 | |||
github.com/aws/aws-sdk-go v1.19.48 |
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.
Is there any reason why you need this version? In beats we use github.com/aws/aws-sdk-go-v2
. I would rather not add a new dependency for the same service, if it is not necessary.
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.
Yes, I actually called that out in the Author's Checklist
section (felt like the most appropriate place for the note). Unfortunately, the AWS deaggregation library only supports v1 of the SDK. There is an open PR that adds support for v2, but we're still waiting on the repo maintainer to review and merge it.
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.
Could you please cleanup the depencency? Otherwise great feature and the code impeccable!
jenkins run tests |
Thank you! 😄 Replied inline to your dependency comment. I'll try to resolve the license linting build failure in the meantime. |
- the go mod is embedded in the repo since it is a monorepo, so couldn't specify the licenseFile. linked to the license file in the url field instead ("make notice" succeeded locally)
This pull request is now in conflicts. Could you fix it? 🙏
|
…sis-deaggregation
jenkins run tests |
Could you please run |
Done. Sorry, I should've realized I needed to push that after testing the overrides locally. |
jenkins run tests |
Thank you for your contribution! |
💚 Flaky test reportTests succeeded. 🤖 GitHub commentsTo re-run your PR in the CI, just comment with:
|
(cherry picked from commit 5ac77d3)
(cherry picked from commit 5ac77d3)
What does this PR do?
This PR adds support for properly deaggregating Kinesis records which are in the aggregated record format.
Why is it important?
This change allows FunctionBeat to properly consume records being sent to Kinesis using the aggregated record format. Users often do this for throughput and cost optimization purposes. The current implementation will instead show single records that have the embedded Protobuf serialized format.
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
.Author's Checklist
Notes:
kinesis-aggregation
support. There is an open PR that adds v2 support. Whenever it is reviewed and merged, there can be a followup change to remove the v1 dependency.How to test this PR locally
Related issues
Use cases
Screenshots
Logs