Description
The PluginType enum encodes the multiple different types of plugins that the plugin discovery infrastructure supports. The `PluginType.from(Class)` method is used to evaluate an arbitrary plugin subclass to determine what type it is.
This is flawed, because multiple plugin types are interfaces, and a single class may implement multiple plugin interfaces. This has the effect that when a plugin implements multiple classes, it appears multiple times, but each time it is listed under the same arbitrary type. For example, a PluginDesc<Converter> object may contain the type PluginType.HEADER_CONVERTER, which is incorrect.
This method should be removed to force callers to consider that one plugin may implement multiple types.
Attachments
Issue Links
- causes
-
KAFKA-15473 Connect connector-plugins endpoint shows duplicate plugins
- Resolved
- Discovered while testing
-
KAFKA-14627 Modernize Connect plugin discovery
- Resolved
- links to