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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to