Hi Aneel,

Thanks for the KIP.  I like the idea.

You mention that "input from STDIN can be used instead of a file on disk."  The 
example given in the KIP seems to suggest that the command defaults to reading 
from STDIN if no argument is given to --add-config-file.

I would argue against this particular command-line pattern.  From the user's 
point of view, if they mess up and forget to supply an argument, or for some 
reason the parser doesn't treat something like an argument, the program will 
appear to hang in a confusing way.

Instead, it would be better to follow the traditional UNIX pattern where a dash 
indicates that STDIN should be read.  So "--add-config-file -" would indicate 
that the program should read form STDIN.  This would be difficult to trigger 
accidentally, and more in line with the traditional conventions.

On Mon, Mar 9, 2020, at 08:47, David Jacot wrote:
> I wonder if we should also add a `--delete-config-file` as a counterpart of
> `--add-config-file`. It would be a bit weird to use a properties file in
> this case as the values are not necessary but it may be handy to have the
> possibility to remove the configurations which have been set. Have you
> considered this?

Hi David,

That's an interesting idea.  However, I think it might be confusing to users to 
supply a file, and then have the values supplied in that file be ignored.  Is 
there really a case where we need to do this (as opposed to creating a file 
with blank values, or just passing the keys to --delete-config?

best,
Colin

> 
> David
> 
> On Thu, Feb 27, 2020 at 11:15 PM Aneel Nazareth <an...@confluent.io> wrote:
> 
> > I've created a PR for a potential implementation of this:
> > https://github.com/apache/kafka/pull/8184 if we decide to go ahead with
> > this KIP.
> >
> > On Wed, Feb 26, 2020 at 12:36 PM Aneel Nazareth <an...@confluent.io>
> > wrote:
> >
> > > Hi,
> > >
> > > I'd like to discuss adding a new argument to kafka-configs.sh
> > > (ConfigCommand.scala).
> > >
> > > Recently I've been working on some things that require complex
> > > configurations. I've chosen to represent them as JSON strings in my
> > > server.properties. This works well, and I'm able to update the
> > > configurations by editing server.properties and restarting the broker.
> > I've
> > > added the ability to dynamically configure them, and that works well
> > using
> > > the AdminClient. However, when I try to update these configurations using
> > > kafka-configs.sh, I run into a problem. My configurations contain commas,
> > > and kafka-configs.sh tries to break them up into key/value pairs at the
> > > comma boundary.
> > >
> > > I'd like to enable setting these configurations from the command line, so
> > > I'm proposing that we add a new option to kafka-configs.sh that takes a
> > > properties file.
> > >
> > > I've created a KIP for this idea:
> > >
> > >
> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-574%3A+CLI+Dynamic+Configuration+with+file+input
> > > And a JIRA: https://issues.apache.org/jira/browse/KAFKA-9612
> > >
> > > I'd appreciate your feedback on the proposal.
> > >
> > > Thanks,
> > > Aneel
> > >
> >
>

Reply via email to