Skip to content

Conversation

@nunofernandes
Copy link

Release notes

Upgrade Logstash Kinesis Input Plugin to AWS Kinesis Client Library (KCL) v2.7.2. This major version upgrade introduces enhanced compatibility with AWS SDK v2, improved LocalStack testing support, and more robust endpoint configuration.

What does this PR do?

  • Migrated from KCL v1.15.0 to v2.7.2
  • Added support for custom Kinesis, DynamoDB, and CloudWatch endpoint configuration
  • Updated AWS SDK dependencies to v2.33.0
  • Refactored worker and record processing logic
  • Enhanced error handling and logging
  • Added comprehensive integration test infrastructure with LocalStack
  • Improved proxy and credentials handling

Why is it important/What is the impact to the user?

This PR fixes an impending EOL on the AWS KCL v1*.

Checklist

  • My code follows the style guidelines of this project
  • [ X] I have commented my code, particularly in hard-to-understand areas
  • [ X] I have made corresponding changes to the documentation
  • [ X] I have made corresponding change to the default configuration files (and/or docker env variables)
  • [ X] I have added tests that prove my fix is effective or that my feature works

Author's Checklist

  • Please review the extensive changes in worker and configuration handling
  • Test with your specific Kinesis stream configurations
  • Verify compatibility with existing Logstash deployments

How to test this PR locally

You need to have docker compose and make.

make integration

Related issues

Use cases

n/a

Screenshots

n/a

Logs

Been running that in the last 24 hours without issues. Log volume is +70k logs / minute.

This commit sets up the development environment for the
logstash-input-kinesis plugin. It includes:

- .envrc: Configures JRuby, Logstash paths, AWS credentials
  (optional), and adds vendor jars to the classpath.
- .ruby-version: Specifies JRuby version.
- Makefile: Defines common tasks (install, test, clean).
- Rakefile: Uses jar-dependencies to manage Java dependencies.

The Jars::Installer.new.vendor_jars! method is now called with
`write_require_file: false` to prevent writing a require file.
- Migrate to Kinesis Client Library (KCL) v2.7.2
- Add support for custom endpoint configuration
- Improve LocalStack and testing compatibility
- Update AWS SDK dependencies and configuration
- Enhance error handling and logging
- Refactor worker and record processing logic
- Add integration test infrastructure

Update to 2.7.2
@cla-checker-service
Copy link

cla-checker-service bot commented Dec 16, 2025

💚 CLA has been signed

@nunofernandes
Copy link
Author

❌ Author of the following commits did not sign a Contributor Agreement: ff259f4, b48d78b

Please, read and sign the above mentioned agreement if you want to contribute to this project

Done!

@nunofernandes
Copy link
Author

Can't see any of the travis CI logs.. so 🤷

@javier-rodriguez-n26
Copy link

Can't see any of the travis CI logs.. so 🤷

Both jobs failed with the same error, look like there's something broken in the CI

env file /home/travis/build/logstash-plugins/logstash-input-kinesis/.ci/dockerjdk17.env not found: stat /home/travis/build/logstash-plugins/logstash-input-kinesis/.ci/dockerjdk17.env: no such file or directory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade AWS kinesis client library version asap Kinesis Client Library version 1.x end-of-support

2 participants