hlteoh37 opened a new pull request, #211: URL: https://github.com/apache/flink-connector-aws/pull/211
## Purpose of the change Add support for Flink 2.0 for `flink-connector-aws`. This includes: 1. Kinesis Source/Sink 2. Firehose Sink 3. DDB Streams Source 4. DDB Table Sink 5. SQS Sink Refactoring done to ensure compatibility with Flink 2 can be summarised below: 1. **Flink public Interface changes.** Sink.InitContext has been renamed to WriterInitContext. ParameterTools base package has been migrated. **Impact:** Every Sink connector exposes Sink.InitContext as a public interface, because this is exposed in the method signature of the abstract class, AsyncSinkBase. This means a breaking change for the connectors repository to support Flink 2.x **Proposal:** I don't see a simple way to decouple the AWS repository code from being tied to either one of Flink 1.x and Flink 2.x. As such I suggest that we split the branches, aws-connector-5.x supports flink-1.20.x and aws-connector-6.x for flink-2.x. This means we have to maintain two active branches (since 1.20 is LTS), but I don't see a better way around this! 2. **Removal of SinkFunction, SourceFunction interfaces.** **Impact:** FlinkKinesisConsumer, FlinkKinesisProducer have to be removed. **Proposal:** Propose that we remove the above, along with the SQL counterparts, as we have replacements of KinesisStreamsSource and KinesisStreamsSink as replacements. **Proposal:** E2E tests and GSR/JSON format tests currently rely on these interfaces, so they will need refactoring as well. 3. **Removal of support for JDK 8, and JDK 17 is now the recommended Java version** **Impact/Proposal:** CI/CD can remove testing for JDK 8, and ensure we test against JDK 17 4. **Kryo is disabled by default on Flink 2** **Impact/Proposal:** We should sanity check that none of the new states falls back to Kryo. IF there are any, we should make it such that we can use POJOSerializer instead of Kryo. ## Verifying this change This change is already covered by existing tests, such as existing unit tests, e2e tests. Will run manual tests for each Source/Sink against local Flink cluster and update here with results. ## Significant changes *(Please check any boxes [x] if the answer is "yes". You can first publish the PR and check them afterwards, for convenience.)* - [ ] Dependencies have been added or upgraded - [ ] Public API has been changed (Public API is any class annotated with `@Public(Evolving)`) - [ ] Serializers have been changed - [ ] New feature has been introduced - If yes, how is this documented? (not applicable / docs / JavaDocs / not documented) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org