Good catch, Randall. Yes, we should be able to set the level of any logger
given its name. If this is an ancestor, then the levels of all child
classes are updated. I updated the KIP to be more explicit about what
loggers we can set, and how they affect child classes, if any.

Let me know what you think.

Best,

On Thu, Sep 12, 2019 at 5:02 PM Randall Hauch <rha...@gmail.com> wrote:

> Thanks for the KIP, Arjun. It's going to be really nice to be able to set
> the log levels dynamically, especially through the REST API.
>
> However, I think it's not clear what behavior the KIP is actually proposing
> with respect to which loggers are exposed (just those that are used, or
> common ancestors) and the behavior when I change the log level on a
> specific logger (is just that logger affected, or are descendants affected,
> too).
>
> For example, in a Log4J configuration file we can set the logger for
> packages (e.g., `org.apache.kafka`, `org.apache.kafka.connect`, etc.) or
> classes (e.g., `org.apache.kafka.connect.runtime.WorkerSinkTask`). Really,
> those are just conventions, because if the code created a logger for the
> "kafka.connect.worker" context then we could set that, too. So by
> convention, the loggers map to Kafka classes and packages.
>
> But it's unclear what behavior the KIP is proposing. Are the intermediate
> loggers such as all packages exposed as loggers? If so, if I set the logger
> on `org.apache.kafka.connect.runtime`, will this set the log level for all
> loggers below this?
>
> My concern is that if the behavior is (a) only concrete classes, and/or (b)
> setting a log level for a specific logger sets only that logger, then this
> deviates from what our users are familiar with when setting the log levels
> in the Log4J configuration files, and would be a difficult user experience
> if I have to set 30+ loggers rather than 1 or 2.
>
> On Thu, Sep 12, 2019 at 1:04 PM Jason Gustafson <ja...@confluent.io>
> wrote:
>
> > Thanks Arjun. +1
> >
> > On Thu, Sep 12, 2019 at 9:58 AM Gwen Shapira <g...@confluent.io> wrote:
> >
> > > The new REST API for logger management looks great to me.
> > >
> > >
> > > On Thu, Sep 12, 2019 at 8:36 AM Arjun Satish <arjun.sat...@gmail.com>
> > > wrote:
> > > >
> > > > Bumping this thread.
> > > >
> > > > If there are no further comments, please add your votes here:
> > > > https://www.mail-archive.com/dev@kafka.apache.org/msg100313.html
> > > >
> > > > Thanks in advance,
> > > > Arjun
> > > >
> > > > On Fri, Sep 6, 2019 at 4:22 PM Arjun Satish <arjun.sat...@gmail.com>
> > > wrote:
> > > >
> > > > > Thanks a lot, Jason! Answers inline. I'll also modify the kip to
> make
> > > > > these clear.
> > > > >
> > > > > On Fri, Sep 6, 2019 at 4:01 PM Jason Gustafson <ja...@confluent.io
> >
> > > wrote:
> > > > >
> > > > >> Hi Arjun,
> > > > >>
> > > > >> The updated KIP looks good. Just a couple questions:
> > > > >>
> > > > >> 1. Is the /admin endpoint on the normal listener by default? If
> not,
> > > is
> > > > >> there a way to have it use the same listener?
> > > > >>
> > > > >
> > > > > Uses the normal listener by default.
> > > > >
> > > > >
> > > > >> 2. Changes to logging configuration are not intended to be
> > > persistent, is
> > > > >> that right? Also, I assume changes only apply to the worker that
> > > received
> > > > >> the request?
> > > > >>
> > > > >
> > > > > Changes will not be persistent and only apply to the worker that
> > > received
> > > > > the request.
> > > > >
> > > > >
> > > > >> Thanks,
> > > > >> Jason
> > > > >>
> > > > >> On Fri, Aug 30, 2019 at 1:25 AM Arjun Satish <
> > arjun.sat...@gmail.com>
> > > > >> wrote:
> > > > >>
> > > > >> > OK. I didn't realize the plan was to deprecate and remove the
> JMX
> > > > >> endpoint.
> > > > >> > KIP-412 says brokers will continue to expose the JMX API. JMX
> was
> > > > >> selected
> > > > >> > so all components could follow the brokers. In light of this, I
> > > think we
> > > > >> > should simply aim for semantic equivalency across the different
> > API
> > > for
> > > > >> > this functionality.
> > > > >> >
> > > > >> > REST is convenient for Connect. We can modify the KIP to have a
> > > /admin
> > > > >> > endpoint, and /admin/loggers specifically for getting/setting
> the
> > > log
> > > > >> > levels of different loggers. The /admin/loggers will only impact
> > > loggers
> > > > >> > running in the specific worker we target requests to, and upon
> > > > >> restarting
> > > > >> > the worker, these loggers will reset back to their original
> level.
> > > > >> >
> > > > >> > Since configuring the rest server already has multiple config
> > keys,
> > > I am
> > > > >> > inclined to bundle this /admin endpoint on to the same listener,
> > and
> > > > >> > provide a single new config key that enables or disables the
> > entire
> > > > >> /admin
> > > > >> > endpoint. This keeps the initial approach simple and doesn't
> > require
> > > > >> users
> > > > >> > to configure/discover a new endpoint.
> > > > >> >
> > > > >> > If this works with you all, I can update the KIP. Please let me
> > know
> > > > >> what
> > > > >> > you think.
> > > > >> >
> > > > >> > Thanks everyone.
> > > > >> >
> > > > >> > Best,
> > > > >> >
> > > > >> > On Thu, Aug 29, 2019 at 10:14 AM Colin McCabe <
> cmcc...@apache.org
> > >
> > > > >> wrote:
> > > > >> >
> > > > >> > > On Mon, Aug 26, 2019, at 14:03, Jason Gustafson wrote:
> > > > >> > > > Hi Arjun,
> > > > >> > > >
> > > > >> > > > From a high level, I feel like we are making light of the
> JMX
> > > api
> > > > >> > because
> > > > >> > > > it's convenient and the broker already has it. Personally I
> > > would
> > > > >> take
> > > > >> > > the
> > > > >> > > > broker out of the picture. The JMX endpoint is not something
> > we
> > > were
> > > > >> > > happy
> > > > >> > > > with, hence KIP-412. Ultimately I think we will deprecate
> and
> > > > >> remove it
> > > > >> > > and
> > > > >> > > > there's no point trying to standardize on a deprecated
> > > mechanism.
> > > > >> > > Thinking
> > > > >> > > > just about connect, we already have an HTTP endpoint. The
> > > default
> > > > >> > > position
> > > > >> > > > should be to add new APIs to it rather than introducing
> other
> > > > >> > mechanisms.
> > > > >> > > > The fewer ways you have to interact with a system, the
> better,
> > > > >> right?
> > > > >> > > >
> > > > >> > > > I think the main argument against a REST endpoint is
> basically
> > > that
> > > > >> > > > adjusting log levels is an administrative operation and
> > connect
> > > is
> > > > >> > > lacking
> > > > >> > > > an authorization framework to enforce administrative access.
> > The
> > > > >> same
> > > > >> > > > argument applies to JMX, but it has the benefit that you can
> > > specify
> > > > >> > > > different credentials and it is easier to isolate since it
> is
> > > > >> running
> > > > >> > on
> > > > >> > > a
> > > > >> > > > separate port. As you suggested, I think the same benefits
> > > could be
> > > > >> > > > achieved by having a separate /admin endpoint which is
> exposed
> > > > >> (perhaps
> > > > >> > > > optionally) on another listener. This is a pretty standard
> > > pattern.
> > > > >> If
> > > > >> > > > memory serves, dropwizard has something like this out of the
> > > box. We
> > > > >> > > should
> > > > >> > > > think hard whether there are additional administrative
> > > capabilities
> > > > >> > that
> > > > >> > > we
> > > > >> > > > would ultimately need. The answer is probably yes, so unless
> > we
> > > > >> want to
> > > > >> > > > double down on JMX, it might be worth thinking through the
> > > > >> implications
> > > > >> > > of
> > > > >> > > > an admin endpoint now so that we're not left with odd
> > > compatibility
> > > > >> > > baggage
> > > > >> > > > in the future.
> > > > >> > >
> > > > >> > > Hi Jason,
> > > > >> > >
> > > > >> > > I agree... I think Connect needs a REST admin API.  There will
> > > > >> probably
> > > > >> > be
> > > > >> > > a lot of other stuff that we'll want to add to it.
> > > > >> > >
> > > > >> > > best,
> > > > >> > > Colin
> > > > >> > >
> > > > >> > > >
> > > > >> > >
> > > > >> > > > Thanks,
> > > > >> > > > Jason
> > > > >> > > >
> > > > >> > > >
> > > > >> > > >
> > > > >> > > >
> > > > >> > > > On Fri, Aug 23, 2019 at 5:38 PM Arjun Satish <
> > > > >> arjun.sat...@gmail.com>
> > > > >> > > wrote:
> > > > >> > > >
> > > > >> > > > > Jason,
> > > > >> > > > >
> > > > >> > > > > Thanks for your comments!
> > > > >> > > > >
> > > > >> > > > > I understand the usability issues with JMX that you
> mention.
> > > But
> > > > >> it
> > > > >> > was
> > > > >> > > > > chosen for the following reasons:
> > > > >> > > > >
> > > > >> > > > > 1. Cross-cutting functionality across different components
> > > (Kafka
> > > > >> > > brokers,
> > > > >> > > > > Connect workers and even with Streams jobs). If we go down
> > the
> > > > >> REST
> > > > >> > > route,
> > > > >> > > > > then brokers don't get this feature.
> > > > >> > > > > 2. Adding this to existing REST servers adds the
> > > whole-or-nothing
> > > > >> > > problem.
> > > > >> > > > > It's hard to disable an endpoint if the functionality is
> not
> > > > >> desired
> > > > >> > or
> > > > >> > > > > needs to be protected from users (Connect doesn't have
> ACLs
> > > which
> > > > >> > makes
> > > > >> > > > > this even harder to manage). Adding endpoints to different
> > > > >> listeners
> > > > >> > > makes
> > > > >> > > > > configuring Connect harder (and it's already a hard
> problem
> > > as it
> > > > >> > is).
> > > > >> > > A
> > > > >> > > > > lot of the existing functionality there is driven around
> the
> > > > >> > connector
> > > > >> > > data
> > > > >> > > > > model (connectors, plugins, their statuses and so on).
> > Adding
> > > an
> > > > >> > > '/admin'
> > > > >> > > > > endpoint may be a way to go, but that has tremendous
> > > implications
> > > > >> (we
> > > > >> > > are
> > > > >> > > > > effectively adding an administration endpoint similar to
> the
> > > admin
> > > > >> > one
> > > > >> > > in
> > > > >> > > > > brokers), and probably requires a KIP of its own with
> > > discussions
> > > > >> > > catered
> > > > >> > > > > around just that.
> > > > >> > > > > 3. JMX is currently AK's default way to report metrics and
> > > perform
> > > > >> > > other
> > > > >> > > > > operations. Changing log levels is typically a system
> > > level/admin
> > > > >> > > > > operation, and fits better there, instead of REST APIs
> > (which
> > > is
> > > > >> more
> > > > >> > > user
> > > > >> > > > > facing).
> > > > >> > > > >
> > > > >> > > > > Having said that, I'm happy to consider alternatives. JMX
> > > seemed
> > > > >> to
> > > > >> > be
> > > > >> > > the
> > > > >> > > > > lowest hanging fruit. But if there are better ideas, we
> can
> > > > >> consider
> > > > >> > > them.
> > > > >> > > > > At the end of the day, when we download and run Kafka,
> there
> > > > >> should
> > > > >> > be
> > > > >> > > one
> > > > >> > > > > way to achieve the same functionality among its
> components.
> > > > >> > > > >
> > > > >> > > > > Finally, I hope I didn't convey that we are
> > > reverting/changing the
> > > > >> > > changes
> > > > >> > > > > made in KIP-412. The proposed changes would be an addition
> > to
> > > it.
> > > > >> It
> > > > >> > > will
> > > > >> > > > > give brokers multiple ways of changing log levels. and
> there
> > > is
> > > > >> > still a
> > > > >> > > > > consistent way of achieving cross component goals of the
> > KIP.
> > > > >> > > > >
> > > > >> > > > > Best,
> > > > >> > > > >
> > > > >> > > > >
> > > > >> > > > > On Fri, Aug 23, 2019 at 4:12 PM Jason Gustafson <
> > > > >> ja...@confluent.io>
> > > > >> > > > > wrote:
> > > > >> > > > >
> > > > >> > > > > > Let me elaborate a little bit. We made the decision
> early
> > > on for
> > > > >> > > Connect
> > > > >> > > > > to
> > > > >> > > > > > use HTTP instead of Kafka's custom RPC protocol. In
> > > exchange for
> > > > >> > > losing
> > > > >> > > > > > some hygienic consistency with Kafka, we took easier
> > > integration
> > > > >> > with
> > > > >> > > > > > management tools. The scope of the connect REST APIs is
> > > really
> > > > >> > > managing
> > > > >> > > > > the
> > > > >> > > > > > connect cluster. It has endpoints for creating
> connectors,
> > > > >> changing
> > > > >> > > > > > configs, seeing their health, etc. Doesn't debugging fit
> > in
> > > with
> > > > >> > > that? I
> > > > >> > > > > am
> > > > >> > > > > > not sure I see why we would treat this as an exceptional
> > > case.
> > > > >> > > > > >
> > > > >> > > > > > I personally see JMX as a necessary evil in Kafka
> because
> > > most
> > > > >> > > metrics
> > > > >> > > > > > agents have native support. But it is particularly
> painful
> > > when
> > > > >> it
> > > > >> > > comes
> > > > >> > > > > to
> > > > >> > > > > > use as an RPC mechanism. This was the central motivation
> > > behind
> > > > >> > > KIP-412,
> > > > >> > > > > > which makes it very odd to see a new proposal which
> > suggests
> > > > >> > > > > standardizing
> > > > >> > > > > > on JMX for log level adjustment. I actually see this as
> > > > >> something
> > > > >> > > we'd
> > > > >> > > > > want
> > > > >> > > > > > to eventually turn off in Kafka. Now that we have a
> proper
> > > API
> > > > >> with
> > > > >> > > > > support
> > > > >> > > > > > in the AdminClient, we can deprecate and eventually
> remove
> > > the
> > > > >> JMX
> > > > >> > > > > > endpoint.
> > > > >> > > > > >
> > > > >> > > > > > Thanks,
> > > > >> > > > > > Jason
> > > > >> > > > > >
> > > > >> > > > > > On Fri, Aug 23, 2019 at 10:49 AM Jason Gustafson <
> > > > >> > ja...@confluent.io
> > > > >> > > >
> > > > >> > > > > > wrote:
> > > > >> > > > > >
> > > > >> > > > > > > Hi Arjun,
> > > > >> > > > > > >
> > > > >> > > > > > > Thanks for the KIP. Do we really need a JMX-based API?
> > Is
> > > > >> there
> > > > >> > > > > literally
> > > > >> > > > > > > anyone in the world that wants to use JMX if they
> don't
> > > have
> > > > >> to?
> > > > >> > I
> > > > >> > > > > > thought
> > > > >> > > > > > > one of the major motivations of KIP-412 was how much
> of
> > a
> > > pain
> > > > >> > JMX
> > > > >> > > is.
> > > > >> > > > > > >
> > > > >> > > > > > > Thanks,
> > > > >> > > > > > > Jason
> > > > >> > > > > > >
> > > > >> > > > > > > On Mon, Aug 19, 2019 at 5:28 PM Arjun Satish <
> > > > >> > > arjun.sat...@gmail.com>
> > > > >> > > > > > > wrote:
> > > > >> > > > > > >
> > > > >> > > > > > >> Thanks, Konstantine.
> > > > >> > > > > > >>
> > > > >> > > > > > >> Updated the KIP with the restrictions around log4j
> and
> > > added
> > > > >> > > > > references
> > > > >> > > > > > to
> > > > >> > > > > > >> similar KIPs.
> > > > >> > > > > > >>
> > > > >> > > > > > >> Best,
> > > > >> > > > > > >>
> > > > >> > > > > > >> On Mon, Aug 19, 2019 at 3:20 PM Konstantine
> Karantasis
> > <
> > > > >> > > > > > >> konstant...@confluent.io> wrote:
> > > > >> > > > > > >>
> > > > >> > > > > > >> > Thanks Arjun, the example is useful!
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > My point when I mentioned the restrictions around
> > > log4j is
> > > > >> > that
> > > > >> > > this
> > > > >> > > > > > is
> > > > >> > > > > > >> > information is significant and IMO needs to be
> > > included in
> > > > >> the
> > > > >> > > KIP.
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > Speaking of its relevance to KIP-412, I think a
> > > reference
> > > > >> > would
> > > > >> > > be
> > > > >> > > > > > nice
> > > > >> > > > > > >> > too.
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > Konstantine
> > > > >> > > > > > >> >
> > > > >> > > > > > >> >
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > On Thu, Aug 15, 2019 at 4:00 PM Arjun Satish <
> > > > >> > > > > arjun.sat...@gmail.com>
> > > > >> > > > > > >> > wrote:
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > > Hey Konstantine,
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > Thanks for the feedback.
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > re: the use of log4j, yes, the proposed changes
> > will
> > > only
> > > > >> > > work if
> > > > >> > > > > > >> log4j
> > > > >> > > > > > >> > is
> > > > >> > > > > > >> > > available in runtime. We will not add the mBean
> if
> > > log4j
> > > > >> is
> > > > >> > > not
> > > > >> > > > > > >> available
> > > > >> > > > > > >> > > in classpath. If we change from log4j 1 to 2,
> that
> > > would
> > > > >> > > involve
> > > > >> > > > > > >> another
> > > > >> > > > > > >> > > KIP, and it would need to update the changes
> > > proposed in
> > > > >> > this
> > > > >> > > KIP
> > > > >> > > > > > and
> > > > >> > > > > > >> > > others (KIP-412, for instance).
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > re: use of Object types, I've changed it from
> > > Boolean to
> > > > >> the
> > > > >> > > > > > primitive
> > > > >> > > > > > >> > type
> > > > >> > > > > > >> > > for setLogLevel. We are changing the signature of
> > > the old
> > > > >> > > method
> > > > >> > > > > > this
> > > > >> > > > > > >> > way,
> > > > >> > > > > > >> > > but since it never returned null, this should be
> > > fine.
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > re: example usage, I've added some screenshot on
> > how
> > > this
> > > > >> > > feature
> > > > >> > > > > > >> would
> > > > >> > > > > > >> > be
> > > > >> > > > > > >> > > used with jconsole.
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > Hope this works!
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > Thanks very much,
> > > > >> > > > > > >> > > Arjun
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > On Wed, Aug 14, 2019 at 6:42 AM Konstantine
> > > Karantasis <
> > > > >> > > > > > >> > > konstant...@confluent.io> wrote:
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> > > > And one thing I forgot is also related to
> Chris's
> > > > >> comment
> > > > >> > > > > above. I
> > > > >> > > > > > >> > agree
> > > > >> > > > > > >> > > > that an example on how a user is expected to
> set
> > > the
> > > > >> log
> > > > >> > > level
> > > > >> > > > > > (for
> > > > >> > > > > > >> > > > instance to DEBUG) would be nice, even if it's
> > > showing
> > > > >> > only
> > > > >> > > one
> > > > >> > > > > > out
> > > > >> > > > > > >> of
> > > > >> > > > > > >> > > the
> > > > >> > > > > > >> > > > many possible ways to achieve that.
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > - Konstantine
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > On Wed, Aug 14, 2019 at 4:38 PM Konstantine
> > > Karantasis
> > > > >> <
> > > > >> > > > > > >> > > > konstant...@confluent.io> wrote:
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > Thanks Arjun for tackling the need to support
> > > this
> > > > >> very
> > > > >> > > useful
> > > > >> > > > > > >> > feature.
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > One thing I noticed while reading the KIP is
> > > that I
> > > > >> > would
> > > > >> > > have
> > > > >> > > > > > >> loved
> > > > >> > > > > > >> > to
> > > > >> > > > > > >> > > > > see more info regarding how this proposal
> > > depends on
> > > > >> the
> > > > >> > > > > > >> underlying
> > > > >> > > > > > >> > > > logging
> > > > >> > > > > > >> > > > > APIs and implementations. For instance, my
> > > > >> understanding
> > > > >> > > is
> > > > >> > > > > that
> > > > >> > > > > > >> > slf4j
> > > > >> > > > > > >> > > > can
> > > > >> > > > > > >> > > > > not be leveraged and that the logging
> framework
> > > > >> needs to
> > > > >> > > be
> > > > >> > > > > > >> pegged to
> > > > >> > > > > > >> > > > log4j
> > > > >> > > > > > >> > > > > explicitly (or another logging
> implementation).
> > > > >> Correct
> > > > >> > > me if
> > > > >> > > > > > I'm
> > > > >> > > > > > >> > > wrong,
> > > > >> > > > > > >> > > > > but if such a dependency is introduced I
> > believe
> > > it's
> > > > >> > > worth
> > > > >> > > > > > >> > mentioning.
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > Additionally, if the above is correct, there
> > are
> > > > >> > > differences
> > > > >> > > > > in
> > > > >> > > > > > >> > log4j's
> > > > >> > > > > > >> > > > > APIs between version 1 and version 2. In
> > version
> > > 2,
> > > > >> > > > > > >> Logger#setLevel
> > > > >> > > > > > >> > > > method
> > > > >> > > > > > >> > > > > has been removed from the Logger interface
> and
> > in
> > > > >> order
> > > > >> > > to set
> > > > >> > > > > > the
> > > > >> > > > > > >> > log
> > > > >> > > > > > >> > > > > level programmatically the Configurator class
> > > needs
> > > > >> to
> > > > >> > > used,
> > > > >> > > > > > >> which as
> > > > >> > > > > > >> > > > > stated in the FAQ (
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> >
> > > > >> > > > > >
> > > > >> > >
> > > > >>
> > > https://logging.apache.org/log4j/2.x/faq.html#reconfig_level_from_code
> > > > >> > > > > > >> > > )
> > > > >> > > > > > >> > > > > it's not part of log4j2's public API. Is
> this a
> > > > >> > concern? I
> > > > >> > > > > > believe
> > > > >> > > > > > >> > that
> > > > >> > > > > > >> > > > > even if these are implementation specific
> > > details for
> > > > >> > the
> > > > >> > > > > > wrappers
> > > > >> > > > > > >> > > > > introduced by this KIP (which to a certain
> > extent
> > > > >> they
> > > > >> > > are), a
> > > > >> > > > > > >> > mention
> > > > >> > > > > > >> > > in
> > > > >> > > > > > >> > > > > the KIP text and a few references would be
> > > useful to
> > > > >> > > > > understand
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > > changes
> > > > >> > > > > > >> > > > > and the dependencies introduced by this
> > proposal.
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > And a few minor comments:
> > > > >> > > > > > >> > > > > - Is there any specific reason that object
> > types
> > > were
> > > > >> > > > > preferred
> > > > >> > > > > > in
> > > > >> > > > > > >> > the
> > > > >> > > > > > >> > > > > proposed interface compared to primitive
> types?
> > > My
> > > > >> > > > > understanding
> > > > >> > > > > > >> is
> > > > >> > > > > > >> > > that
> > > > >> > > > > > >> > > > > `null` is not expected as a return value.
> > > > >> > > > > > >> > > > > - Related to the above, I think it'd be nice
> > for
> > > the
> > > > >> > > javadoc
> > > > >> > > > > to
> > > > >> > > > > > >> > mention
> > > > >> > > > > > >> > > > > when a parameter is not expected to be `null`
> > > with an
> > > > >> > > > > > appropriate
> > > > >> > > > > > >> > > comment
> > > > >> > > > > > >> > > > > (e.g. foo bar etc; may not be null)
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > Cheers,
> > > > >> > > > > > >> > > > > Konstantine
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > > On Tue, Aug 6, 2019 at 9:34 AM Cyrus
> Vafadari <
> > > > >> > > > > > cy...@confluent.io
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > > > wrote:
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > >> This looks like a useful feature, the
> strategy
> > > makes
> > > > >> > > sense,
> > > > >> > > > > and
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > KIP
> > > > >> > > > > > >> > > > is
> > > > >> > > > > > >> > > > >> thorough and nicely written. Thanks!
> > > > >> > > > > > >> > > > >>
> > > > >> > > > > > >> > > > >> Cyrus
> > > > >> > > > > > >> > > > >>
> > > > >> > > > > > >> > > > >> On Thu, Aug 1, 2019, 12:40 PM Chris Egerton
> <
> > > > >> > > > > > chr...@confluent.io
> > > > >> > > > > > >> >
> > > > >> > > > > > >> > > > wrote:
> > > > >> > > > > > >> > > > >>
> > > > >> > > > > > >> > > > >> > Thanks Arjun! Looks good to me.
> > > > >> > > > > > >> > > > >> >
> > > > >> > > > > > >> > > > >> > On Thu, Aug 1, 2019 at 12:33 PM Arjun
> > Satish <
> > > > >> > > > > > >> > > arjun.sat...@gmail.com>
> > > > >> > > > > > >> > > > >> > wrote:
> > > > >> > > > > > >> > > > >> >
> > > > >> > > > > > >> > > > >> > > Thanks for the feedback, Chris!
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> > > Yes, the example is pretty much how
> > Connect
> > > will
> > > > >> > use
> > > > >> > > the
> > > > >> > > > > > new
> > > > >> > > > > > >> > > > feature.
> > > > >> > > > > > >> > > > >> > > Tweaked the section to make this more
> > clear.
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> > > Best,
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> > > On Fri, Jul 26, 2019 at 11:52 AM Chris
> > > Egerton <
> > > > >> > > > > > >> > > chr...@confluent.io
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > wrote:
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> > > > Hi Arjun,
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > > > This looks great. The changes to
> public
> > > > >> interface
> > > > >> > > are
> > > > >> > > > > > >> pretty
> > > > >> > > > > > >> > > small
> > > > >> > > > > > >> > > > >> and
> > > > >> > > > > > >> > > > >> > > > moving the Log4jController class into
> > the
> > > > >> clients
> > > > >> > > > > package
> > > > >> > > > > > >> > seems
> > > > >> > > > > > >> > > > like
> > > > >> > > > > > >> > > > >> > the
> > > > >> > > > > > >> > > > >> > > > right way to go. One question I
> have--it
> > > looks
> > > > >> > > like the
> > > > >> > > > > > >> > purpose
> > > > >> > > > > > >> > > of
> > > > >> > > > > > >> > > > >> this
> > > > >> > > > > > >> > > > >> > > KIP
> > > > >> > > > > > >> > > > >> > > > is to enable dynamic setting of log
> > > levels in
> > > > >> the
> > > > >> > > > > Connect
> > > > >> > > > > > >> > > > framework,
> > > > >> > > > > > >> > > > >> > but
> > > > >> > > > > > >> > > > >> > > > it's not clear how the Connect
> framework
> > > will
> > > > >> use
> > > > >> > > that
> > > > >> > > > > > new
> > > > >> > > > > > >> > > > utility.
> > > > >> > > > > > >> > > > >> Is
> > > > >> > > > > > >> > > > >> > > the
> > > > >> > > > > > >> > > > >> > > > "Example Usage" section (which
> involves
> > > > >> invoking
> > > > >> > > the
> > > > >> > > > > > >> utility
> > > > >> > > > > > >> > > with
> > > > >> > > > > > >> > > > a
> > > > >> > > > > > >> > > > >> > > > namespace of "kafka.connect") actually
> > > meant
> > > > >> to
> > > > >> > be
> > > > >> > > part
> > > > >> > > > > > of
> > > > >> > > > > > >> the
> > > > >> > > > > > >> > > > >> proposed
> > > > >> > > > > > >> > > > >> > > > changes to public interface?
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > > > Cheers,
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > > > Chris
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > > > On Mon, Jul 22, 2019 at 11:03 PM Arjun
> > > Satish
> > > > >> <
> > > > >> > > > > > >> > > > >> arjun.sat...@gmail.com>
> > > > >> > > > > > >> > > > >> > > > wrote:
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > > > > Hi everyone.
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > > > I'd like to propose the following
> KIP
> > to
> > > > >> > > implement
> > > > >> > > > > > >> changing
> > > > >> > > > > > >> > > log
> > > > >> > > > > > >> > > > >> > levels
> > > > >> > > > > > >> > > > >> > > on
> > > > >> > > > > > >> > > > >> > > > > the fly in Connect workers:
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> >
> > > > >> > > > > > >> > > > >>
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> >
> > > > >> > > > > > >>
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-495%3A+Dynamically+Adjust+Log+Levels+in+Connect
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > > > Would like to hear your thoughts on
> > > this.
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > > > Thanks very much,
> > > > >> > > > > > >> > > > >> > > > > Arjun
> > > > >> > > > > > >> > > > >> > > > >
> > > > >> > > > > > >> > > > >> > > >
> > > > >> > > > > > >> > > > >> > >
> > > > >> > > > > > >> > > > >> >
> > > > >> > > > > > >> > > > >>
> > > > >> > > > > > >> > > > >
> > > > >> > > > > > >> > > >
> > > > >> > > > > > >> > >
> > > > >> > > > > > >> >
> > > > >> > > > > > >>
> > > > >> > > > > > >
> > > > >> > > > > >
> > > > >> > > > >
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > > >
> > >
> >
>

Reply via email to