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

interest in simple client admin api? #113

Open
yglcode opened this issue Apr 21, 2018 · 2 comments
Open

interest in simple client admin api? #113

yglcode opened this issue Apr 21, 2018 · 2 comments

Comments

@yglcode
Copy link

yglcode commented Apr 21, 2018

I'd like to have a simple kafka admin api and small binary derived from
1> KIP 117 (https://cwiki.apache.org/confluence/display/KAFKA/KIP-117%3A+Add+a+public+AdminClient+API+for+Kafka+admin+operations)
2> Java code (https://github.com/apache/kafka/tree/trunk/clients/src/main/java/org/apache/kafka/clients/admin).

For a minimal sized and simple implementation, i'll reuse jocko's fine protocol code and client code. Basically move client conn/dial code into a separate package/dir "client". Other user code only need this client package and protocol package (few hundreds Ks) to access admin client api. Sample of this admin api can be found at command line binary "kadmin", which support normal topics create/delete/list/describe,...

I did some initial code for my personal usage here: yglcode@4a06db9

Is this something of general interests, consistent with roadmap? i can send in pull request.

@travisjeffery
Copy link
Owner

Hey Yigong,

Yeah might as well create export a client other people can use, could end up with a really nice Go client for producing, consuming, admin'ing if we pool our efforts. Make a PR so I can give you some feedback.

Thanks,

Travis

@yglcode
Copy link
Author

yglcode commented Apr 23, 2018

Great, i'll clean up code, fix unit tests and create PR.
one of my purpose is to learn kafka protocol. your nice code allow me learn and experiment piece by piece.
the admin api (KIP 117) allow clients query brokers' supported api versions. Is APIVersionsRequest normally only sent during initial connect setup handshaking? I tried to send APIVersionsRequests to confluent kafka brokers (i run tests in swarm cluster of kafka/zookeeper containers), brokers all return empty slice without error code. All other requests work fine. I saw your broker.go code returns predefined APIVersions slice at this request. have i got something wrong?

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

2 participants