+1 to the approach. I expect that we will encounter more questions and challenges as we go, but these are best discussed and addressed in the context of a specific connector like ElasticSearch.
On Fri, Feb 18, 2022 at 2:54 PM Martijn Visser <mart...@ververica.com> wrote: > Hi everyone, > > As a follow-up to earlier discussions [1] [2] to externalize the connectors > from the Flink repository, I would like to propose a plan to externalize > these connectors. The goal of this plan is to start with moving connectors > to its own repositories without introducing regressions for connector > developers. > > The plan is as follows: > > 1. A new repository is requested for a connector. > 2. The code for that connector is moved to its individual repository, > including the commit history > 3. Any first release made for a connector in an external connector > repository starts with major version 3, so 3.0.0. The reason for that is > that we want to decouple the Flink releases from a connector release. If we > would start with major version 2, it could cause some confusion because > people could think a Flink 2.0 has been released. This does mean that each > connector needs to have a compatibility matrix generated, stating which > version number of the connector is compatible with the correct Flink > version. > 4. The group id and artifact id for the connector will remain the same, > only the version is different. > 5. The connector dependencies on the Flink website are updated to point to > the newly released connector artifact. > 6. If a connector is moved, there is one release cycle where there will be > binary releases for that connector in both Flink core and from the > connector repository. This is to make Flink users who are upgrading > slightly easier. We will have to make a note in the release notes that a > connector has been moved and that a user should update any references from > the original connector artifact (from the Flink connector) to the new > connector artifact (from the external conenctor version) > > We propose to first try to execute this plan for the Elasticsearch > connector as follows: > > 1. We wait until the Flink 1.15 release branch is cut > 2. When that's done, the Elasticsearch code (including commit history) from > Flink's 1.15 release branch will be moved to the > flink-connector-elasticsearch main branch. > 3. When Flink 1.15 is released, we will also release an Elasticsearch > connector for the external connector repository with version 3.0.0. > 4. Bugfixes or improvements will be made first pointing to the external > connector repository and will be cherry-picked back to the release-1.15 > branch in the Flink core repository. > 5. The Elasticsearch code, test etc will be removed from the master branch > in the Flink core repository and dropped with Flink 1.16 > > Looking forward to your thoughts on this! > > Best regards, > > Martijn Visser > https://twitter.com/MartijnVisser82 > > [1] https://lists.apache.org/thread/bywh947r2f5hfocxq598zhyh06zhksrm > [2] https://lists.apache.org/thread/bk9f91o6wk66zdh353j1n7sfshh262tr > -- Konstantin Knauf https://twitter.com/snntrable https://github.com/knaufk