How about creating a new repository flink-connector-aws and merging dynamodb, 
kinesis firehouse into it? 
This can reduce the maintenance for complex dependencies and make the release 
easy. 
I think the maintainers of aws-releated connectors are the same people.

Best,
Jark

> 2022年10月21日 17:41,Chesnay Schepler <ches...@apache.org> 写道:
> 
> I would not go with 2); I think it'd just be messy .
> 
> Here's another option:
> 
> Create another repository (aws-connector-base) (following the externalization 
> model), add it as a sub-module to the downstream repositories, and make it 
> part of the release process of said connector.
> 
> I.e., we never create a release for aws-connector-bose, but release it as 
> part of the connector.
> This main benefit here is that we'd always be able to make changes to the 
> aws-base code without delaying connector releases.
> I would assume that any added overhead due to _technically_ releasing the aws 
> code multiple times to be negligible.
> 
> 
> On 20/10/2022 22:38, Danny Cranmer wrote:
>> Hello all,
>> 
>> Currently we have 2 AWS Flink connectors in the main Flink codebase
>> (Kinesis Data Streams and Kinesis Data Firehose) and one new externalized
>> connector in progress (DynamoDB). Currently all three of these use common
>> AWS utilities from the flink-connector-aws-base module. Common code
>> includes client builders, property keys, validation, utils etc.
>> 
>> Once we externalize the connectors, leaving flink-connector-aws-base in the
>> main Flink repository will restrict our ability to evolve the connectors
>> quickly. For example, as part of the DynamoDB connector build we are
>> considering adding a general retry strategy config that can be leveraged by
>> all connectors. We would need to block on Flink 1.17 for this.
>> 
>> In the past we have tried to keep the AWS SDK version consistent across
>> connectors, with the externalization this is more likely to diverge.
>> 
>> Option 1: I propose we create a new repository, flink-connector-aws, which
>> we can move the flink-connector-aws-base module to and create a new
>> flink-connector-aws-parent to manage SDK versions. Each of the externalized
>> AWS connectors will depend on this new module and parent. Downside is an
>> additional module to release per Flink version, however I will volunteer to
>> manage this.
>> 
>> Option 2: We can move the flink-connector-aws-base module and create
>> flink-connector-parent within the flink-connector-shared-utils repo [2]
>> 
>> Option 3: We do nothing.
>> 
>> For option 1+2 we will follow the general externalized connector versioning
>> strategy and rules.
>> 
>> I am inclined towards option 1, and appreciate feedback from the community.
>> 
>> [1]
>> https://github.com/apache/flink/tree/master/flink-connectors/flink-connector-aws-base
>> [2] https://github.com/apache/flink-connector-shared-utils
>> 
>> Thanks,
>> Danny
>> 
> 

Reply via email to