Greg Harris created KAFKA-14863:
-----------------------------------

             Summary: Plugins which do not have a valid no-args constructor are 
visible in the REST API
                 Key: KAFKA-14863
                 URL: https://issues.apache.org/jira/browse/KAFKA-14863
             Project: Kafka
          Issue Type: Bug
          Components: KafkaConnect
            Reporter: Greg Harris
            Assignee: Greg Harris


Currently, the Connect plugin discovery mechanisms only assert that a no-args 
constructor is present when necessary. In particular, this assertion happens 
for Connectors when the framework needs to evaluate the connector's version 
method.
It also happens for ConnectorConfigOverridePolicy, ConnectRestExtension, and 
ConfigProvider plugins, which are loaded via the ServiceLoader. The 
ServiceLoader constructs instances of plugins with their no-args constructor 
during discovery, so these plugins are discovered even if they are not 
Versioned.

This has the effect that these unusable plugins which are missing a default 
constructor appear in the REST API, but are not able to be instantiated or 
used. To make the ServiceLoader and Reflections discovery mechanisms behave 
more similar, this assertion should be applied to all plugins, and a log 
message emitted when plugins do not follow the constructor requirements.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to