'Specify Kafka Connect connector plugin version

How does Kafka deal with multiple versions of the same connector plugin provided in the CLASSPATH? For example, let's say I put both mongo-kafka-1.0.0-all.jar and mongo-kafka-1.1.0-all.jar into the respective directory, in order to allow using both versions, depending on what's needed. Unfortunately, the docs do not give away a way to specify the version of connector.class, I can only assume this is dealt with like classloading is usually dealt with Java-wise.



Solution 1:[1]

If you have the same connector plugin that shares the same connector class (e.g. io.confluent.connect.jdbc.JdbcSinkConnector) and you want separate versions of that same connector JAR, you would need to run multiple Kafka Connect workers.

If you have different connectors that use different dependent JARs then this is handled by Kafka Connect's classpath isolation and the plugin.path setting.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Robin Moffatt