Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

https://github.com/apache/flink-connector-elasticsearch/ is the most complete example of an externalized connector.

Git history

When moving a connector out of the Flink repo the git history should be preserved.

Use the git-filter-repo tool to extract the relevant commits.

As an example, the externalization of the Cassandra connector required these commands to be run (in a fresh copy of the Flink repository!!!):

Code Block
python3 git-filter-repo --subdirectory-filter flink-connectors/
python3 git-filter-repo --path flink-connector-cassandra/

The result should be that only the desired modules related to the connector exist in your local branch.

Then rebase this branch on top of the bootstrapped externalized connector repo, then apply changes to make things actually work.

Parent pom

We have a parent pom that connectors should use.

...