Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-7673

Flink Kinesis connector - remove dependency on the ASL code

    XMLWordPrintableJSON

Details

    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.

      Attachments

        Activity

          People

            dannycranmer Danny Cranmer
            radekg Radoslaw Gruchalski
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: