Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vastly outdated - Not usable within KafkaStreams app anymore #2

Open
mirkoruether opened this issue Sep 12, 2024 · 0 comments
Open

Comments

@mirkoruether
Copy link

Hello Lenses team,
this library seems to not haven gotten much attention in the past few years, although it is still being mentioned in your latest docs here https://docs.lenses.io/5.5/guides/data-applications-integrations/external-apps/#register-via-jvm-client

Currently it is broken if you want to use it within your KafkaStreams app they way shown in "lenses-topology-example" repo.

The issue is related to io.lenses.topology.client.kafka.metrics.TopologyKafkaStreamsClientSupplier which still implements "getAdminClient" method instead of "getAdmin". See KIP-476: Add Java AdminClient Interface (deprecation of getAdminClient) and KAFKA-12630 (Removal of deprecated getAdminClient API in Kafka Version 3.0.0)

The fix would be quite easy I think (see below) and I was about to do it and hand it in via pull request, but looking at the versions of the libraries that this depends on, etc. I first would like to ask the question: Do you guys still plan support this library (as I said: still mentioned in latest Lenses docs) or is this thing dead and will stay dead?

Thanks in advance!

Warm regards,
Mirko Rüther

package io.lenses.topology.client.kafka.metrics;

[...]
import org.apache.kafka.clients.admin.Admin;
[...]

public class TopologyKafkaStreamsClientSupplier implements KafkaClientSupplier {
[...]
    @Override
    public Admin getAdmin(final Map<String, Object> config) {
        return Admin.create(config);
    }
[...]
}

Log:

Exception in thread "main" java.lang.UnsupportedOperationException: Implementations of KafkaClientSupplier should implement the getAdmin() method.
     at org.apache.kafka.streams.KafkaClientSupplier.getAdmin(KafkaClientSupplier.java:40)
     at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:901)
     at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:865)
     at org.apache.kafka.streams.KafkaStreams.<init>(KafkaStreams.java:835)
     at com.example.MyStreamsApp.main(MyStreamsApp.java:xyz)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant