Hi Colin,

We should not support STDIN to maintain uniformity across scripts. If the
user wants to pass the arguments in command line,
they can always use the existing --add-config option.




On Thu, Mar 26, 2020 at 7:20 PM David Jacot <dja...@confluent.io> wrote:

> Rajini has made a good point. I don't feel strong for either ways but if
> people
> are confused by this, it is probably better without it.
>
> Best,
> David
>
> On Thu, Mar 26, 2020 at 7:23 AM Colin McCabe <cmcc...@apache.org> wrote:
>
> > Hi Kamal,
> >
> > Are you suggesting that we not support STDIN here?  I have mixed
> feelings.
> >
> > I think the ideal solution would be to support "-" in these tools
> whenever
> > a file argument was expected.  But that would be a bigger change than
> what
> > we're talking about here.  Maybe you are right and we should keep it
> simple
> > for now.
> >
> > best,
> > Colin
> >
> > On Wed, Mar 25, 2020, at 01:24, Kamal Chandraprakash wrote:
> > > STDIN wasn't standard practice in other scripts like
> > > kafka-console-consumer.sh, kafka-console-producer.sh and kafka-acls.sh
> > > in which the props file is accepted via consumer.config /
> > producer.config /
> > > command-config parameter.
> > >
> > > Shouldn't we have to maintain the uniformity across scripts?
> > >
> > > On Mon, Mar 16, 2020 at 4:13 PM David Jacot <dja...@confluent.io>
> wrote:
> > >
> > > > Hi Aneel,
> > > >
> > > > Thanks for the updated KIP. I have made a second pass over it and the
> > > > KIP looks good to me.
> > > >
> > > > Best,
> > > > David
> > > >
> > > > On Tue, Mar 10, 2020 at 9:39 PM Aneel Nazareth <an...@confluent.io>
> > wrote:
> > > >
> > > > > After reading a bit more about it in the Kubernetes case, I think
> > it's
> > > > > reasonable to do this and be explicit that we're ignoring the
> value,
> > > > > just deleting all keys that appear in the file.
> > > > >
> > > > > I've updated the KIP wiki page to reflect that:
> > > > >
> > > > >
> > > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-574%3A+CLI+Dynamic+Configuration+with+file+input
> > > > >
> > > > > And updated my sample PR:
> > > > > https://github.com/apache/kafka/pull/8184
> > > > >
> > > > > If there are no further comments, I'll request a vote in a few
> days.
> > > > >
> > > > > Thanks for the feedback!
> > > > >
> > > > > On Mon, Mar 9, 2020 at 1:24 PM Aneel Nazareth <an...@confluent.io>
> > > > wrote:
> > > > > >
> > > > > > Hi David,
> > > > > >
> > > > > > Is the expected behavior that the keys are deleted without
> > checking the
> > > > > values?
> > > > > >
> > > > > > Let's say I had this file new.properties:
> > > > > > a=1
> > > > > > b=2
> > > > > >
> > > > > > And ran:
> > > > > >
> > > > > > bin/kafka-configs --bootstrap-server localhost:9092 \
> > > > > >   --entity-type brokers --entity-default \
> > > > > >   --alter --add-config-file new.properties
> > > > > >
> > > > > > It seems clear what should happen if I run this immediately:
> > > > > >
> > > > > > bin/kafka-configs --bootstrap-server localhost:9092 \
> > > > > >   --entity-type brokers --entity-default \
> > > > > >   --alter --delete-config-file new.properties
> > > > > >
> > > > > > (Namely that both a and b would now have no values in the config)
> > > > > >
> > > > > > But what if this were run in-between:
> > > > > >
> > > > > > bin/kafka-configs --bootstrap-server localhost:9092 \
> > > > > >   --entity-type brokers --entity-default \
> > > > > >   --alter --add-config a=3
> > > > > >
> > > > > > Would it be surprising if the key/value pair a=3 was deleted,
> even
> > > > > > though the config that is in the file is a=1? Or would that be
> > > > > > expected?
> > > > > >
> > > > > > On Mon, Mar 9, 2020 at 1:02 PM David Jacot <dja...@confluent.io>
> > > > wrote:
> > > > > > >
> > > > > > > Hi Colin,
> > > > > > >
> > > > > > > Yes, you're right. This is weird but convenient because you
> don't
> > > > have
> > > > > to
> > > > > > > duplicate
> > > > > > > the "keys". I was thinking about the kubernetes API which
> allows
> > to
> > > > > create
> > > > > > > a Pod
> > > > > > > based on a file and allows to delete it as well with the same
> > file. I
> > > > > have
> > > > > > > always found
> > > > > > > this convenient, especially when doing local tests.
> > > > > > >
> > > > > > > Best,
> > > > > > > David
> > > > > > >
> > > > > > > On Mon, Mar 9, 2020 at 6:35 PM Colin McCabe <
> cmcc...@apache.org>
> > > > > wrote:
> > > > > > >
> > > > > > > > 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