Details
-
Improvement
-
Status: Resolved
-
Not a Priority
-
Resolution: Fixed
-
None
-
None
Description
Currently the Flink Kinesis connector depends on two artifacts which are available under Amazon Software License code. The artifacts are:
<dependency> <groupId>com.amazonaws</groupId> <artifactId>amazon-kinesis-producer</artifactId> <version>${aws.kinesis-kpl.version}</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>amazon-kinesis-client</artifactId> <version>${aws.kinesis-kcl.version}</version> <!-- We're excluding the below from the KCL since we'll only be using the com.amazonaws.services.kinesis.clientlibrary.types.UserRecord class, which will not need these dependencies. --> <exclusions> <exclusion> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-dynamodb</artifactId> </exclusion> <exclusion> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-cloudwatch</artifactId> </exclusion> </exclusions> </dependency>
This prevents the connector being published to Maven Central. I would like to contribute to Flink Kinesis connector by replacing the ASL licensed code with an implementation using AWS SDK for Java. For that, I'd like to understand two things:
- what's the correct process for making the contribution (contributor agreement, etc.)
- what's the minimum functionality the alternative implementation would have to provide in order to get accepted
There are three classes in the connector's source requiring modification:
- org.apache.flink.streaming.connectors.kinesis.FlinkKinesisProducer
- org.apache.flink.streaming.connectors.kinesis.util.KinesisConfigUtil
- org.apache.flink.streaming.connectors.kinesis.internals.ShardConsumer
Thank you.