Snehashis Pal created KAFKA-18119: ------------------------------------- Summary: Service loading loads incorrect plugin version. Key: KAFKA-18119 URL: https://issues.apache.org/jira/browse/KAFKA-18119 Project: Kafka Issue Type: Bug Components: connect Affects Versions: 3.8.1, 3.9.0, 3.7.1, 3.8.0, 3.6.2, 3.6.1, 3.7.0, 3.6.0 Reporter: Snehashis Pal
Kafka connect seems to be loading incorrect version of connect plugins (such as connectors) if run in SERVICE_LOAD mode. If the worker is started with only service loading enabled, it does not seem to be loading the latest version of a plugin available in its plugins path. Rather it always seems to be defaulting to the plugin version provided in the classpath. I observed this when I placed an updated json-converter in the plugins path and a connector instantiated, still defaulted to using the one provided in the connect (Kafka) distribution. It does not happen when the older reflections-based plugin scanner is used. This can be reproduced by following the same process, noted down below * Set {*}plugin.discovery{*}=SERVICE_LOAD * Install a newer version of json-converter ({*}org.apache.kafka.connect.json.JsonConverter{*}) than the one provided in the distribution. Usually, the bundled version is the same as the current Kafka distribution. * Start a connector with either *key.converter* or *value.converter* set to the json converter. Without this in the config the latest version is loaded. It might be hard to judge which version of the converter is loaded. For testing it might be good to build a new json converter with some log lines depicting the version in use. Another way would be run connect in debug mode and add some breakpoints in the startTask method in Worker where the converters are initialised. -- This message was sent by Atlassian Jira (v8.20.10#820010)