-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
chore(deps): Bump github.com/harlow/kinesis-consumer from v0.3.6-0.20240606153816-553e2392fdf3 to v0.3.6-0.20240916192723-43900507c911 #15890
Conversation
@mskonovalov switching an upstream library to one-man forks has proven bad in the past especially since the likelihood of you lose interest in maintaining the fork is high. This being said, there has to be a REALLY strong justification for doing such a change... As I'm not too familiar with AWS kinesis, could you please answer the following questions regarding your reasonging:
Looking forward to hear your thoughts and reasons! |
Hi @srebhan I'll start in the opposite order:
As I said in the PR description - I'm happy to discuss the best way to move forward. I made fixes for these bugs but I cannot push them to the original repository. It may get accepted and merged soon or maybe never, who knows. I just would like to fix the issue for everyone who cannot use kinesis consumer in Telegraf ATM. |
I'd say another alternative would be to pull the kinesis-consumer code into Telegraf :D |
Hi @mskonovalov sorry for the pains this has caused you. i'd be happy to transfer this codebase or give you admin rights to the repo so you can make changes as needed |
Hey @harlow thanks for accepting the PRs, I'll change this one to point to a most recent commit. |
Download PR build artifacts for linux_amd64.tar.gz, darwin_arm64.tar.gz, and windows_amd64.zip. 👍 This pull request doesn't change the Telegraf binary size 📦 Click here to get additional PR build artifactsArtifact URLs |
So this is the solution I've hoped for! Thanks @mskonovalov for digging into this and thanks @harlow for giving away part of your baby, I know how hard this is. ;-) |
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.
Thanks @mskonovalov!
…240606153816-553e2392fdf3 to v0.3.6-0.20240916192723-43900507c911 (influxdata#15890)
Summary
OK, fixing this #13853
Specifically #13853 (comment)
There are a few issues:
Here are the PRs fix isRetriableError harlow/kinesis-consumer#159 (from Jun 12 2024, not reviewed, not accepted) and Fix ProvisionedThroughputExceededException error harlow/kinesis-consumer#161 (from 16 Sept 2024)
Solution:
Unfortunately, I don't know how to handle the case with unmaintained library.
For now I made a personal fork, created a tag with 2 bug fixes and switched Telegraf to use this fork.
Not sure if it is a good idea in the long term, I don't think I will be able to maintain the fork properly (and not sure if I have an access to real Kinesis in the future, currently testing it against localstack)
There are no good alternatives to this library as far as I can tell.
Official AWS KClv2 is only in Java or Python https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl-v2.html
One potentially good option could be KCL lib from VMWare:
they had a first version https://github.com/vmware/vmware-go-kcl but only for AWS SDK v1.
Then they created a new one for AWS SDK v2 https://github.com/vmware/vmware-go-kcl-v2
but it only supports go 1.21 and last commit 6 months ago :( also no activity on PRs for a while.
So please let me know what is the preferred way forward
Checklist
Related issues
resolves #13853