Hi devs and committers,

I'd like to raise a point about Kafka tools and Admin Client API in order to 
have a sort of agreement on the path we should follow for having consistency in 
the project.

We all know that the bigger part of tools is in Scala with only few of them in 
Java. At same time more of them are still using Zookeeper and few of them are 
using Admin Client API (even because it's quite new and evolving release by 
release).


My initial understanding was that the community (at least the committers) would 
like to have tools migrated in Java (something like already happened for 
clients) and using the new Admin Client API.

This was the path I was trying to follow with TopicCommand tool then I noticed 
that ...


A new delete records tool was added (the PR was merged) and it was written in 
Scala, adding the new protocol commands for doing that to the "legacy" Admin 
client (for this I opened the 
KIP-204<https://cwiki.apache.org/confluence/display/KAFKA/KIP-204+%3A+Adding+records+deletion+operation+to+the+new+Admin+Client+API>
 for having it in the new Admin Client API). So, to summarize, new tool ... no 
Java ... no new Admin Client API usage.


What I see is that there is a real "mix" : Scala tools using "legacy" Admin 
Client, Scala tools using new Admin Client API, few Java tools just using 
consumer/producer clients, ...


In the past, during this 
discussion<https://www.mail-archive.com/dev@kafka.apache.org/msg78014.html>, 
the final idea was having the bash script layer using different tools (Scala or 
Java) based on Zookeeper parameter usage.


I'd like to know the opinion about the final objective and the path to follow 
around tools. Maybe the final objective should be having all tools in Java 
using Admin Client API but maybe during this path having a smooth migration 
just using new Admin Client API in the current Scala tools first (removing 
Zookeeper calls) could be better. Maybe for committers, in order to review and 
merge PRs, little ones are better ...


What do you think about this ?


Thanks,


Paolo Patierno
Senior Software Engineer (IoT) @ Red Hat
Microsoft MVP on Azure & IoT
Microsoft Azure Advisor

Twitter : @ppatierno<http://twitter.com/ppatierno>
Linkedin : paolopatierno<http://it.linkedin.com/in/paolopatierno>
Blog : DevExperience<http://paolopatierno.wordpress.com/>

Reply via email to