You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's difficult to determine whether some features of the Kafka Connect API are supported by the runtime into which a plugin (e.g., connector, converter, etc.) is deployed. Some features can be detected implicitly based on which methods the runtime invokes on the plugin (such as whether SinkTask::preCommit or SinkTask::flush is invoked), and others can be detected by catching runtime classloading errors (such as those thrown by SinkTaskContext::errantRecordReporter).
This is both inconvenient (catching classloading errors is never fun) and limiting (it's impossible to leverage interfaces introduced in newer APIs with default implementations that make sense in the absence of support for that feature by the Kafka Connect runtime, and there are limited options for when exactly support or lack of support for a given feature can be determined).
We can implement a compatibility shim library that eases some of these pain points and covers up some of the uglier bits for connector developers who want to access newer features in their connectors without sacrificing compatibility with older versions of Kafka Connect.
The text was updated successfully, but these errors were encountered:
It's difficult to determine whether some features of the Kafka Connect API are supported by the runtime into which a plugin (e.g., connector, converter, etc.) is deployed. Some features can be detected implicitly based on which methods the runtime invokes on the plugin (such as whether SinkTask::preCommit or SinkTask::flush is invoked), and others can be detected by catching runtime classloading errors (such as those thrown by SinkTaskContext::errantRecordReporter).
This is both inconvenient (catching classloading errors is never fun) and limiting (it's impossible to leverage interfaces introduced in newer APIs with default implementations that make sense in the absence of support for that feature by the Kafka Connect runtime, and there are limited options for when exactly support or lack of support for a given feature can be determined).
We can implement a compatibility shim library that eases some of these pain points and covers up some of the uglier bits for connector developers who want to access newer features in their connectors without sacrificing compatibility with older versions of Kafka Connect.
The text was updated successfully, but these errors were encountered: