Hi Ran,

The config.action.reload, subscribe, unsubscribe, and ConfigChangeCallback
features are partially-implemented. As far as I can tell if you're using
only AK connect-runtime and config providers, none of it is functional.

If you have a config provider that implements TTLs, the runtime will use
the value of config.action.reload will determine whether the TTLs expiring
restarts the connector. No AK ConfigProvider implementation implements
TTLs, so this should only have an effect with custom ConfigProvider
implementations.
If you have a config provider that implements subscribe/unsubscribe, it
will not be functional with the AK connect-runtime, as the runtime does not
call these methods or listen for the changes. I would expect that because
of this, no ConfigProvider implements these methods. If you had a fork of
the connect-runtime, it might make use of these methods.

In the future we should add support for these methods to the runtime:
https://issues.apache.org/jira/browse/KAFKA-14823 and possibly also add
support for these methods to our built-in ConfigProvider implementations to
make them more functional.
If you're interested in helping with this, it would be greatly appreciated!

Thanks,
Greg

On Tue, Aug 20, 2024 at 7:44 AM Ran Qin <ranqin1...@gmail.com> wrote:

> Hi Kafka team,
>
> Currently I'm investigating the config.action.reload feature of Kafka
> Connect. I'm wondering how to enable this feature. E.g. If I use the
> FileConfigProvider,
> clients/src/main/java/org/apache/kafka/common/config/provider/FileConfigProvider.java
> is it enough to set the config.action.reload = true in the connector
> configs? Or I have to implement my own subscribe and unsubscribe logic
> before using it?
> https://github.com/a0x8o/kafka/blob/54eff6af115ee647f60129f2ce6a044cb17215d0/clients/src/main/java/org/apache/kafka/common/config/provider/ConfigProvider.java#L52-L73
>
> What's more interesting is I noticed Herder should have corresponding
> logic to handle the onChange() function, but I didn't find how the function
> is used in Herder. I'm curious what's the best practice to use the feature
> to update the value from ConfigProvider? Thanks!
> [image: image.png]
>

Reply via email to