Releases: awslabs/amazon-kinesis-producer
Releases · awslabs/amazon-kinesis-producer
Release 0.13.0 of the Amazon Kinesis Producer Library
Release 0.12.11 of the Amazon Kinesis Producer Library
Java
- Bump up the version to 0.12.11. Maven release updated with working binaries.
- Fixes Issue #231
Release 0.12.10 of the Amazon Kinesis Producer Library
Java
- Support for additional AWS regions.
- Bug fix to avoid Heap Out of Memory Exception.
C++ Core
- Support for additional AWS regions.
- Update the CloudWatch upload logic to timeout retries at 10 Minutes instead of 30 Minutes and backoff between retries.
Release 0.12.9 of the Amazon Kinesis Producer Library
Java
- Stream the native application to disk instead of loading into memory.
Extracting the native component will now stream it to disk, instead of copying it into memory. This should reduce
memory use of the KPL during startup. - Extract certificates when using a custom binary.
Certificates will now be extracted to the directory of the custom binary. - Improve exception handling in the credential update threads.
Runtime exceptions are now caught, and ignored while updating the credentials. This should avoid the thread death
that could occur if the credentials supplier threw an exception. At this onlyRuntimeException
s are handled,
Throwable
s will still cause the issue.
C++ Core
- Removed the spin lock protecting credentials access.
Credential access is now handled by atomic swaps, and when necessary a standard explicit lock. This significantly
reduces contention retrieving credentials when a large number of threads are being used. - Ticket spin locks will now fall back to standard locking after a set number of spins.
The ticket spin lock is now a hybrid spin lock. After a set number of spins the lock will switch to a conventional
lock, and condition variable. This reduces CPU utilization when a large number of threads are accessing the
spin lock.
Release 0.12.8 of the Amazon Kinesis Producer Library
0.12.8
Java
- Ensure that all certificates are registered the
FileAgeManager
to prevent file sweepers from removing them - Upgrade aws-java-sdk-core to 1.11.245
Release 0.12.7 of the Amazon Kinesis Producer Library
0.12.7
C++ Core
- Removed unnecessary libidn, and correctly set libuuid to static linking. This issue only affected the Linux version.
- Disabled clock_gettime support in Curl for macOS.
This fixes an issue where the KPL was unable to run on macOS versions older than 10.12. - Updated requirements for the using the KPL on Linux.
The KPL on Linux now requires glibc 2.9 or later.
Release 0.12.6 of the Amazon Kinesis Producer Library
0.12.6
C++ Core
- Added Windows support
The 0.12.x version now supports Windows.
The Windows version is currently mastered on the branchwindows
, which will be merged at a later date.
The build instructions for Windows are currently out of date, and will be updated at a later date. - Removed the libc wrapper
The libc wrapper lowered the required version of glibc. The KPL is now built with an older version of libc, which removes the need for the wrapper. - Set the minimum required version of macOS to 10.9.
The KPL is now built against macOS 10.9.
Java
- Allow exceptions to bubble to the thread exception handler for Daemon threads.
Exceptions that occur on daemon threads will now be allowed to propagate to the thread exception handler. This doesn't provide any additional monitoring or handling of thread death. - Updated
amazon-kinesis-producer-sample
to use the correct properties in its configuration file. - Updated documentation of
AggregationMaxSize
to match actual Kinesis limits. - Added support for setting
ThreadingModel
, andThreadPoolSize
using a properties file. - Extracted
IKinesisProducer
fromKinesisProducer
to allow for easier testing.
Release 0.12.5 of the Amazon Kinesis Producer Library
Release 0.12.4 of the Amazon Kinesis Producer Library
0.12.4
Java
- Upgraded dependency on aws-java-sdk-core to 1.11.128, and removed version range.
- Use an explicit lock file to manage access to the native KPL binaries.
- Log reader threads should be shut down when the native process exits.
C++ Core
- Add support for using a thread pool, instead of a thread per request.
The thread pool model guarantees a fixed number of threads, but have issue catching up if the KPL is overloaded. - Add log messages, and statistics about sending data to Kinesis.
-
Added flush statistics that record the count of events that trigger flushes of data destined for Kinesis
-
Added a log message that indicates the average time it takes for a PutRecords request to be completed.
This time is recorded from the when the request is enqueued to when it is completed.
-
Log a warning if the average request time rises above five times the configured flush interval.
If you see this warning normally it indicates that the KPL is having issues keeping up. The most likely
cause is to many requests being generated, and you should investigate the flush triggers to determine why flushes
are being triggered.
-
Release 0.12.3 of the Amazon Kinesis Producer Library
Release Notes
0.12.3
Java
- The Java process will periodically reset the last modified times for native components. This will help to ensure that these files aren't deleted by automated cleanup scripts.
- Fixes Issue #81