YunKuiLu commented on code in PR #18199:
URL: https://github.com/apache/kafka/pull/18199#discussion_r1900923812
##########
connect/runtime/src/main/java/org/apache/kafka/connect/runtime/AbstractHerder.java:
##########
@@ -469,7 +469,7 @@ private <T> ConfigInfos validateConverterConfig(
VersionRange range =
PluginUtils.connectorVersionRequirement(pluginVersion);
pluginInstance = (T) plugins().newPlugin(pluginClass, range,
connectorLoader);
} catch (VersionedPluginLoadingException e) {
- log.error("Failed to load {} class {} with version {}: {}",
pluginName, pluginClass, pluginVersion, e);
+ log.error("Failed to load {} class {} with version {}",
pluginName, pluginClass, pluginVersion, e);
Review Comment:
I used a unit test to force the `newPlugin` method to throw a
`VersionedPluginLoadingException`,
```
when(plugins.newPlugin(eq(SimpleHeaderConverter.class.getName()), any(),
any(ClassLoader.class)))
.thenThrow(new
VersionedPluginLoadingException(String.format("A soft version range is not
supported for plugin loading, "
+ "this is an internal error as connect should automatically
convert soft ranges to hard ranges. "
+ "Provided soft version: %s ", "1.0.0")));
```
and the verification log is as follows:
before:
```
[2025-01-02 22:06:09,344] INFO Validating connector
org.apache.kafka.connect.runtime.SampleSourceConnector, version some great
version (org.apache.kafka.connect.runtime.AbstractHerder:830)
[2025-01-02 22:06:09,585] ERROR Failed to load header converter class
org.apache.kafka.connect.storage.SimpleHeaderConverter with version null:
org.apache.kafka.connect.runtime.isolation.VersionedPluginLoadingException: A
soft version range is not supported for plugin loading, this is an internal
error as connect should automatically convert soft ranges to hard ranges.
Provided soft version: 1.0.0
(org.apache.kafka.connect.runtime.AbstractHerder:472)
```
after:
```
[2025-01-02 22:06:50,038] INFO Validating connector
org.apache.kafka.connect.runtime.SampleSourceConnector, version some great
version (org.apache.kafka.connect.runtime.AbstractHerder:830)
[2025-01-02 22:06:56,742] ERROR Failed to load header converter class
org.apache.kafka.connect.storage.SimpleHeaderConverter with version null
(org.apache.kafka.connect.runtime.AbstractHerder:472)
org.apache.kafka.connect.runtime.isolation.VersionedPluginLoadingException:
A soft version range is not supported for plugin loading, this is an internal
error as connect should automatically convert soft ranges to hard ranges.
Provided soft version: 1.0.0
at
org.apache.kafka.connect.runtime.isolation.Plugins.newPlugin(Plugins.java:378)
~[main/:?]
at
org.apache.kafka.connect.runtime.AbstractHerder.validateConverterConfig(AbstractHerder.java:470)
~[main/:?]
at
org.apache.kafka.connect.runtime.AbstractHerder.validateAllConverterConfigs(AbstractHerder.java:534)
~[main/:?]
at
org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:863)
~[main/:?]
at
org.apache.kafka.connect.runtime.AbstractHerder.validateConnectorConfig(AbstractHerder.java:812)
~[main/:?]
at
org.apache.kafka.connect.runtime.AbstractHerderTest.testConfigValidation(AbstractHerderTest.java:396)
~[test/:?]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
~[?:?]
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at
org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:728)
~[junit-platform-commons-1.10.2.jar:1.10.2]
... ... (more exception trace)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]