Hello Mitchel,

Thanks for the KIP. Sure, This inconsistency is really annoying and causing
lots of confusions. Here are some comments:

First, there is already a Jira issue about this problem, created by Ismael.
https://issues.apache.org/jira/browse/KAFKA-8507 I added the link to the
KIP.

Add to this, it seems like this problem is a little bit more complicated
than the first glance - you can see more in the comment I left in the Jira
issue 2 weeks ago.

*1. Location and parameter parser*

Most tools are located in kafka.tools or kafka.admin package in the core
module, with jOptSimple as a arguments parser. However,
kafka-verifiable-consumer.sh (VerifiableConsumer) and
kafka-verifiable-producer.sh (VerifiableProducer) are located in
org.apache.kafka.tools package in tools module, with argparse4j as a
parameter parser. For this reason, they do not provide standardized
'version' parameter. (see KAFKA-8292).

You can find the implementation of jOptSimple parameter parsing and testing
from the following:

-
https://github.com/dongjinleekr/kafka/blob/feature%2FKAFKA-8292/core/src/main/scala/kafka/tools/ProducerPerformance.scala
-
https://github.com/dongjinleekr/kafka/blob/feature%2FKAFKA-8292/core/src/test/scala/kafka/tools/ProducerPerformanceTest.scala

*2. Connection name flag*

Currently, there are three co-existing alternatives in the flags:

a. broker-list: ConsumerPerformance, ConsoleProducer, etc.
b. bootstrap-server: ConfigCommand, etc.
c. bootstrap-servers: StreamsResetter.

Before progressing this issue, it would be better to agree with which name
should be the standard. It seems like most of the community agree to
bootstrap-server (b) but, bootstrap-servers (c) deserves consideration - it
is consistent with [ProducerConfig,
ConsumerConfig].BOOTSTRAP_SERVERS_CONFIG.

How do you think?

*3. Other consistencies*

As you can see in the comment, there are more inconsistency problems in the
tools. May I take the tasks except for the tools you are working, as a
follow-up KIP?

@committers Is this okay?

Thanks,
Dongjin


On Fri, Aug 2, 2019 at 7:15 AM Gwen Shapira <g...@confluent.io> wrote:

> +1 for the KIP
>
> On Tue, Jul 30, 2019 at 5:25 PM Mitchell <mitche...@gmail.com> wrote:
> >
> > Hello,
> > I have written a proposal to add the command line argument
> > `--bootstrap-server` to 5 of the existing command line tools that do not
> > currently use `--broker-list` for passing cluster connection information.
> >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-499+-+Unify+connection+name+flag+for+command+line+tool
> >
> > Please take a look and let me know what you think.
> > Thanks,
> > -Mitch
>
>
>
> --
> Gwen Shapira
> Product Manager | Confluent
> 650.450.2760 | @gwenshap
> Follow us: Twitter | blog
>


-- 
*Dongjin Lee*

*A hitchhiker in the mathematical world.*
*github:  <http://goog_969573159/>github.com/dongjinleekr
<https://github.com/dongjinleekr>linkedin: kr.linkedin.com/in/dongjinleekr
<https://kr.linkedin.com/in/dongjinleekr>speakerdeck: speakerdeck.com/dongjin
<https://speakerdeck.com/dongjin>*

Reply via email to