i didn't think it would be appropriate to return `num.partitions` as a
Config for a Topic since that is not a valid config for that resource type.

yes, that is another option i have on the wiki in the Rejected Alternatives
section (though, its really just an alternative until something else passes
voting :). we still have the issue with return type here, NewTopic has the
info i want to return, but not necessarily the name i'd want... it could
make sense for a createTopics() to return a TopicDescription and we could
add the config/replication info to that class, but we'd then need to add
all this info for all describeTopics() calls. not sure of the
ramifications/overhead here.

dan

On Wed, Dec 13, 2017 at 10:10 AM, Colin McCabe <cmcc...@apache.org> wrote:

> On Wed, Dec 13, 2017, at 10:00, dan wrote:
> > > Why not just return
> > > org.apache.kafka.clients.admin.Config like describeConfigs does?
> >
> > brokers have a `num.partitions` config that does not map to a valid
> > `Config` entry for a topic.
>
> Hi Dan,
>
> Sorry if I'm misunderstanding something, but why not map it to
> num.partitions?
>
> >
> > another added benefit to using `NewTopic` may be (future kip) having the
> > cluster return the actual replica mappings it would create (i have no
> > idea if this is actually possible)
>
> A better way of doing that would probably be extending
> CreateTopicsRequest so that it returns partition assignment information
> to the caller.  Then using validOnly = true to get this information.
>
> Actually, come to think of it, maybe we should be doing that for this
> KIP too.  Why not have CreateTopicsRequest return the config that was
> used, plus the partition assignment that was made?  We don't create
> topics that often, so the extra space on the wire should not be a
> concern.
>
> best,
> Colin
>
> >
> > dan
> >
> > On Wed, Dec 13, 2017 at 9:55 AM, Colin McCabe <cmcc...@apache.org>
> wrote:
> >
> > > On Tue, Dec 12, 2017, at 19:02, Ewen Cheslack-Postava wrote:
> > > > re: API versions, I actually wasn't sure if we needed it or not. I'm
> fine
> > > > if people would prefer just bumping it, but I was actually curious
> if we
> > > > could get away without bumping it. I don't know the behavior of the
> > > > broker code paths for this well enough to know what types of errors
> those
> > > > non-null assertions get converted into.
> > >
> > > There's no advantage to trying to keep the API version number the same,
> > > though.  Since we have bidirectional client compatibility now, the
> > > clients and the server will just negotiate whatever version they need.
> > > New clients can still talk to older brokers that don't support this
> > > feature.
> > >
> > > If you don't bump the API version, the best case scenario is that you
> > > get a disconnect exception and the end-user is left confused about why.
> > > The worse-case scenario is that you crash the broker (but probably not,
> > > since you'd just get an NPE in serde, I think).  If you bump the
> version
> > > number, you can provide a proper UnsupportedVersionException when the
> > > feature is not supported.
> > >
> > > > For the return type, NewTopic seems reasonable and kind of intuitive
> --
> > > > basically a description of the NewTopic you would get. The only
> reason I
> > > > would be wary of reusing it is that what we don't want people doing
> is
> > > > taking that and passing it directly into AdminClient.createTopics
> since
> > > > we don't want them explicitly overriding all the defaults.
> > >
> > > Yeah.  Another thing is that NewTopic has a lot of stuff related to
> > > replication that doesn't seem relevant here.  For example, when
> creating
> > > NewTopic, you have the option of either setting replicationFactor, or
> > > setting up a specific replica assignment.  Why not just return
> > > org.apache.kafka.clients.admin.Config like describeConfigs does?
> > >
> > > best,
> > > Colin
> > >
> > > >
> > > > -Ewen
> > > >
> > > > On Tue, Dec 12, 2017 at 2:32 PM, dan <dan.norw...@gmail.com> wrote:
> > > >
> > > > > Colin/Ewen,
> > > > >
> > > > > i will add changes to bump the API version.
> > > > >
> > > > > any preferences on the return type for the new method? tbh it seems
> > > like
> > > > > returning a NewTopic could make sense because the ConfigResource
> for a
> > > > > TOPIC type does not let me encode `numPartitions`
> > > > >
> > > > > thanks
> > > > > dan
> > > > >
> > > > > On Mon, Dec 11, 2017 at 7:22 PM, Colin McCabe <cmcc...@apache.org>
> > > wrote:
> > > > >
> > > > > > Hi Dan,
> > > > > >
> > > > > > The KIP looks good overall.
> > > > > >
> > > > > > On Mon, Dec 11, 2017, at 18:28, Ewen Cheslack-Postava wrote:
> > > > > > > I think the key point is when the kafka admin and user creating
> > > topics
> > > > > > > differ. I think a more realistic example of Dan's point (2) is
> for
> > > > > > > retention. I know that realistically, admins aren't just going
> to
> > > > > > > randomly
> > > > > > > drop the broker defaults from 1w to 1d without warning anyone
> > > (they'd
> > > > > > > likely be fired...). But as a user, I may not know the broker
> > > configs,
> > > > > if
> > > > > > > admins have overridden them, etc. I may want a *minimum* of,
> e.g.,
> > > 2d.
> > > > > > > But if the broker defaults are higher such that the admins are
> > > > > confident
> > > > > > the
> > > > > > > cluster can handle 1w, I'd rather just fall back on the default
> > > value.
> > > > > >
> > > > > > Right.  I think this API addresses a similar set of use-cases as
> > > adding
> > > > > > the "validateOnly" boolean for createTopics.  You shouldn't have
> to
> > > > > > create a topic to know whether it was possible to create it, or
> what
> > > the
> > > > > > retention will end up being, etc. etc.
> > > > > >
> > > > > > > Now, there's arguably a better solution for that case -- allow
> > > topic
> > > > > > > configs to express a *minimum* value (or maximum depending on
> the
> > > > > > > particular config), with the broker config taking precedence
> if it
> > > has
> > > > > a
> > > > > > > smaller value (or larger in the case of maximums). This lets
> you
> > > > > express
> > > > > > > your minimum requirements but allows the cluster to do more if
> > > that's
> > > > > the
> > > > > > > default. However, that would represent a much more significant
> and
> > > > > > > invasive change, and honestly I think it is more likely to
> confuse
> > > > > users.
> > > > > >
> > > > > > There always need to be topic defaults, though.  If we add a
> foobar
> > > > > > configuration for topics, existing topics will need to get
> > > grandfathered
> > > > > > in with a default foobar.  And they won't be able to set min and
> max
> > > > > > ranges, because foobars didn't exist back when the old topics
> were
> > > > > > created.
> > > > > >
> > > > > > >
> > > > > > > @Dan, regarding compatibility, this changes behavior without
> > > revving
> > > > > the
> > > > > > > request version number, which normally we only do for things
> that
> > > are
> > > > > > > reasonably considered bugfixes or were it has no compatibility
> > > > > > > implications. In this case, older brokers talking to newer
> > > AdminClients
> > > > > > > will presumably return some error. Do we know what the non-null
> > > > > assertion
> > > > > > > gets converted to and if we're happy with the behavior (i.e.
> will
> > > > > > > applications be able to do something reasonable, distinguish it
> > > from
> > > > > some
> > > > > > > completely unrelated error, etc)? Similarly, it's obviously
> only
> > > one
> > > > > > > implementation using the KIP-4 APIs, but do we know what
> > > client-side
> > > > > > > validation AdminClient is already doing and whether old
> > > AdminClients
> > > > > > > talking to new brokers will see a change in behavior (or do
> they do
> > > > > > > client-side validation such that old clients simply wouldn't
> have
> > > > > access
> > > > > > > to this new functionality)?
> > > > > >
> > > > > > I think we should bump the API version for this or add a new API
> key.
> > > > > > Nothing good is going to happen by pretending like this is
> compatible
> > > > > > with existing brokers.
> > > > > >
> > > > > > Also, I think it would be better just to have a separate
> function in
> > > > > > AdminClient rather than overloading the behavior of NULL in
> > > > > > describeConfigs.  It's not really that much more effort to have
> > > another
> > > > > > AdminClient function, and it's a lot simpler for devs to
> understand
> > > than
> > > > > > magical NULL behavior in describeConfigs.
> > > > > >
> > > > > > best,
> > > > > > Colin
> > > > > >
> > > > > > >
> > > > > > > -Ewen
> > > > > > >
> > > > > > > On Mon, Dec 11, 2017 at 2:11 PM, dan <dan.norw...@gmail.com>
> > > wrote:
> > > > > > >
> > > > > > > > Dong,
> > > > > > > >
> > > > > > > > I agree that it *may* be better for a user to be explicit,
> > > however
> > > > > > there
> > > > > > > > are a couple reasons they may not.
> > > > > > > > 1) a user doesn't even know what the options are. imagine
> > > writing a
> > > > > > tool
> > > > > > > > for users to create topics that steps them through things:
> > > > > > > >
> > > > > > > > $ kafka-topics.sh --create
> > > > > > > > Give your topic a name: my-fav-topic
> > > > > > > > How many partitions do you want [12]:
> > > > > > > > What is the minimum in set replica size [2]:
> > > > > > > > What is the maximum message size [1MB]:
> > > > > > > > ...
> > > > > > > >
> > > > > > > > 2) a user wants to use broker defaults within reason. say
> they
> > > thinke
> > > > > > they
> > > > > > > > want min.cleanable.dirty.ratio=.5 and the default is .6.
> maybe
> > > thats
> > > > > > fine,
> > > > > > > > or even better for them. since the person maintaining the
> actual
> > > > > > cluster
> > > > > > > > has put thought in to this config. and as the maintainer
> keeps
> > > > > working
> > > > > > on
> > > > > > > > making the cluster run better they can change and tune
> things on
> > > the
> > > > > > > > cluster level as needed.
> > > > > > > >
> > > > > > > > dan
> > > > > > > >
> > > > > > > >
> > > > > > > > On Wed, Dec 6, 2017 at 11:51 AM, Dong Lin <
> lindon...@gmail.com>
> > > > > wrote:
> > > > > > > >
> > > > > > > > > Hey Dan,
> > > > > > > > >
> > > > > > > > > I think you are saying that, if user can read the default
> > > config
> > > > > > before
> > > > > > > > > creating the topic, then this user can make better
> decision in
> > > what
> > > > > > > > configs
> > > > > > > > > need to be overwritten. The question here is, how user is
> > > going to
> > > > > > use
> > > > > > > > this
> > > > > > > > > config to make the decision.
> > > > > > > > >
> > > > > > > > > In my understanding, user will compare the default value
> with
> > > > > > expected
> > > > > > > > > value, and override the config to be expected value if
> they are
> > > > > > > > different.
> > > > > > > > > If this is the only way that the default value can affect
> > > user's
> > > > > > > > decision,
> > > > > > > > > then it seems OK for user to directly override the config
> to
> > > the
> > > > > > expected
> > > > > > > > > value. I am wondering if this solution has some drawback.
> > > > > > > > >
> > > > > > > > > On the other hand, maybe there is a more advanced way that
> the
> > > > > > default
> > > > > > > > > value can affect the user's decision. It may be useful to
> > > > > understand
> > > > > > this
> > > > > > > > > use-case more specifically. Could you help provide a
> specific
> > > > > example
> > > > > > > > here?
> > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > > Dong
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Wed, Dec 6, 2017 at 11:12 AM, dan <
> dan.norw...@gmail.com>
> > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Rajini,
> > > > > > > > > >
> > > > > > > > > > that was not my intent, the intent was to give a user of
> > > this api
> > > > > > an
> > > > > > > > > > insight in to what their topic will look like once
> created.
> > > as
> > > > > > things
> > > > > > > > > stand
> > > > > > > > > > now a user is unable to (easily) have any knowledge of
> what
> > > their
> > > > > > topic
> > > > > > > > > > configs will be before doing a `CREATE_TOPICS`. as i
> > > mentioned in
> > > > > > the
> > > > > > > > > KIP,
> > > > > > > > > > another option would be to have the `CreateTopicsOptions.
> > > > > > > > > > validateOnly=true`
> > > > > > > > > > version return data, but seems more
> invasive/questionable.
> > > > > > > > > >
> > > > > > > > > > dan
> > > > > > > > > >
> > > > > > > > > > On Wed, Dec 6, 2017 at 5:10 AM, Rajini Sivaram <
> > > > > > > > rajinisiva...@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hi Dan,
> > > > > > > > > > >
> > > > > > > > > > > Thank you for the KIP. KIP-226 (
> https://cwiki.apache.org/
> > > > > > > > > > > confluence/display/KAFKA/KIP-226+-+Dynamic+Broker+
> > > > > Configuration)
> > > > > > > > > > proposes
> > > > > > > > > > > to add an option to include all synonyms of a config
> option
> > > > > when
> > > > > > > > > > describing
> > > > > > > > > > > configs. This includes any defaults. For example (using
> > > Dong's
> > > > > > > > > example),
> > > > > > > > > > if
> > > > > > > > > > > you have topicA with min.cleanable.dirty.ratio=0.6 as
> an
> > > > > > override and
> > > > > > > > > the
> > > > > > > > > > > broker default is 0.5, AdminClient#describeConfigs with
> > > > > synonyms
> > > > > > > > would
> > > > > > > > > > > return the actual value in use as the config value
> (I,e.
> > > > > > > > > > > min.cleanable.dirty.ratio=0.6). And the synonyms list
> > > would
> > > > > > contain
> > > > > > > > > (in
> > > > > > > > > > > the
> > > > > > > > > > > order of precedence in which these configs are
> applied):
> > > > > > > > > > >
> > > > > > > > > > >    1. min.cleanable.dirty.ratio=0.6, config
> > > source=TOPIC_CONFIG
> > > > > > > > > > >    2. log.min.cleanable.dirty.ratio=0.5, config
> > > > > > > > > > > source=STATIC_BROKER_CONFIG
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > KIP-226 doesn't give you exactly what you are
> proposing in
> > > this
> > > > > > KIP,
> > > > > > > > > but
> > > > > > > > > > it
> > > > > > > > > > > gives the mapping of configs. My concern with this KIP
> is
> > > that
> > > > > it
> > > > > > > > > assumes
> > > > > > > > > > > that if the broker config is static, i.e. if the
> current
> > > value
> > > > > of
> > > > > > > > > > > log.min.cleanable.dirty.ratio=0.6, you can safely
> create a
> > > > > topic
> > > > > > > > with
> > > > > > > > > > > default min.cleanable.dirty.ratio relying on that the
> > > value to
> > > > > be
> > > > > > > > > applied
> > > > > > > > > > > all the time. This will not work with dynamic broker
> > > configs if
> > > > > > the
> > > > > > > > > > broker
> > > > > > > > > > > defaults can be updated at any time.
> > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Dec 4, 2017 at 11:22 PM, dan <
> > > dan.norw...@gmail.com>
> > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > for point 1 i agree, its not too strong. only
> addition i
> > > > > could
> > > > > > come
> > > > > > > > > up
> > > > > > > > > > > with
> > > > > > > > > > > > is that it allows any utility to have better forwards
> > > > > > > > compatability.
> > > > > > > > > a
> > > > > > > > > > > cli
> > > > > > > > > > > > written that can inspect how a topic will be created
> > > would be
> > > > > > able
> > > > > > > > to
> > > > > > > > > > > give
> > > > > > > > > > > > insight/expectations about configs that didn't exist
> at
> > > > > > compilation
> > > > > > > > > > time.
> > > > > > > > > > > >
> > > > > > > > > > > > for point 2, i am thinking about a situation where
> the
> > > user
> > > > > > > > creating
> > > > > > > > > > > topics
> > > > > > > > > > > > and the user managing brokers are different people
> with
> > > > > > different
> > > > > > > > > > > > skills/abilities.
> > > > > > > > > > > >
> > > > > > > > > > > > so in the given example lets assume a user creating
> the
> > > topic
> > > > > > does
> > > > > > > > > not
> > > > > > > > > > > > *really* understand what that config means, so they
> are
> > > > > likely
> > > > > > to
> > > > > > > > > just
> > > > > > > > > > > > leave it as default. and are happy for their admin to
> > > change
> > > > > > these
> > > > > > > > on
> > > > > > > > > > the
> > > > > > > > > > > > broker as needed.
> > > > > > > > > > > >
> > > > > > > > > > > > but say we have another user who is creating a topic
> who
> > > has
> > > > > > much
> > > > > > > > > more
> > > > > > > > > > > > experience and has done testing, they will be able to
> > > > > determine
> > > > > > > > what
> > > > > > > > > > the
> > > > > > > > > > > > value is on the cluster and check to see if it
> matches
> > > > > > expectations
> > > > > > > > > or
> > > > > > > > > > > > needs to be set. possibly if this is set to something
> > > > > > incorrect for
> > > > > > > > > > their
> > > > > > > > > > > > usecase they will have a reason to verify and speak
> with
> > > the
> > > > > > admin
> > > > > > > > > > about
> > > > > > > > > > > > their usecase.
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > moreover, i think without this added capability it
> makes
> > > it
> > > > > > > > > > > > difficult/impossible to accurately use broker
> defaults
> > > for
> > > > > > topics.
> > > > > > > > > > right
> > > > > > > > > > > > now a user is left to either decide configs a priori
> and
> > > lose
> > > > > > this
> > > > > > > > > > > > functionality, or guess/check what they need to set
> and
> > > end
> > > > > in
> > > > > > a
> > > > > > > > > > possibly
> > > > > > > > > > > > bad situation until they can get their *live* topic
> > > > > configured.
> > > > > > > > > > > >
> > > > > > > > > > > > dan
> > > > > > > > > > > >
> > > > > > > > > > > > On Mon, Dec 4, 2017 at 2:50 PM, Dong Lin <
> > > > > lindon...@gmail.com>
> > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > Hey Dan,
> > > > > > > > > > > > >
> > > > > > > > > > > > > Thanks again for the update:)
> > > > > > > > > > > > >
> > > > > > > > > > > > > I am not sure I fully understand the points (1) and
> > > (2) in
> > > > > > the
> > > > > > > > > > "Always
> > > > > > > > > > > > > Configure ALL Configs For a Topic". In my previous
> > > > > question,
> > > > > > I
> > > > > > > > > don't
> > > > > > > > > > > mean
> > > > > > > > > > > > > that users should specify full list of topics
> configs.
> > > I
> > > > > mean
> > > > > > > > that
> > > > > > > > > > user
> > > > > > > > > > > > can
> > > > > > > > > > > > > specify the full list of topic configs he/she
> wants to
> > > > > > override.
> > > > > > > > > > > > >
> > > > > > > > > > > > > Your KIP proposes to allow user to query the
> default
> > > topic
> > > > > > > > configs.
> > > > > > > > > > In
> > > > > > > > > > > my
> > > > > > > > > > > > > understanding, users want to know the default
> configs
> > > only
> > > > > if
> > > > > > > > > he/she
> > > > > > > > > > > > > already has a specific list of (config, value)
> pairs
> > > for
> > > > > > which
> > > > > > > > > he/she
> > > > > > > > > > > > wants
> > > > > > > > > > > > > to override. The workflow will be that user
> queries the
> > > > > > default
> > > > > > > > > > > configs,
> > > > > > > > > > > > > compares the default value with that specific
> list, and
> > > > > > > > selectively
> > > > > > > > > > > > > override the configs whose value is different from
> the
> > > > > > default
> > > > > > > > > value.
> > > > > > > > > > > > > Therefore, the alternative solution does not
> suffer the
> > > > > > problem
> > > > > > > > (1)
> > > > > > > > > > > > because
> > > > > > > > > > > > > user needs to know that specific list of (config,
> > > value)
> > > > > pair
> > > > > > > > > anyway.
> > > > > > > > > > > > Does
> > > > > > > > > > > > > this make sense?
> > > > > > > > > > > > >
> > > > > > > > > > > > > Regarding problem (2), I think you are saying that
> if
> > > the
> > > > > > user
> > > > > > > > > wants
> > > > > > > > > > to
> > > > > > > > > > > > set
> > > > > > > > > > > > > the min.cleanable.dirty.ratio to be 0.5 and the
> default
> > > > > > value is
> > > > > > > > > > > > currently
> > > > > > > > > > > > > set to 0.5, then user would not want to explicitly
> > > override
> > > > > > the
> > > > > > > > > > config
> > > > > > > > > > > > > during topic creation. The purpose is for the
> > > > > > > > > > min.cleanable.dirty.ratio
> > > > > > > > > > > > of
> > > > > > > > > > > > > this topic to be changed to 0.6 if admin change the
> > > default
> > > > > > > > > > > > > min.cleanable.dirty.ratio to 0.6 in the future.
> > > > > > > > > > > > >
> > > > > > > > > > > > > But I am not sure this is a reasonable example. If
> user
> > > > > > wants to
> > > > > > > > > > > > > compare default value of min.cleanable.dirty.ratio
> > > with its
> > > > > > > > > expected
> > > > > > > > > > > > value
> > > > > > > > > > > > > 0.5, then it seems reasonable for user to override
> it
> > > to be
> > > > > > 0.5
> > > > > > > > > > during
> > > > > > > > > > > > > topic creation if the default value is currently
> 0.6.
> > > The
> > > > > > > > question
> > > > > > > > > > is,
> > > > > > > > > > > > why
> > > > > > > > > > > > > would user not want to override the default value
> to
> > > be 0.5
> > > > > > if
> > > > > > > > the
> > > > > > > > > > > > default
> > > > > > > > > > > > > value is changed from 0.5 to 0.6 later?
> > > > > > > > > > > > >
> > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > Dong
> > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Mon, Dec 4, 2017 at 2:36 PM, dan <
> > > dan.norw...@gmail.com
> > > > > >
> > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > updated again :)
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > by having users always set all configs you lose
> the
> > > > > > ability to
> > > > > > > > > use
> > > > > > > > > > > the
> > > > > > > > > > > > > > broker defaults as intended, since topic configs
> are
> > > > > > overlaid.
> > > > > > > > > > > example
> > > > > > > > > > > > in
> > > > > > > > > > > > > > the kip doc.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > dan
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Mon, Dec 4, 2017 at 11:47 AM, Dong Lin <
> > > > > > lindon...@gmail.com
> > > > > > > > >
> > > > > > > > > > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Hey Dan,
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Thanks for the update. I just want to push the
> > > > > > discussion a
> > > > > > > > bit
> > > > > > > > > > > > > further.
> > > > > > > > > > > > > > > Another alternative, which currently is not
> > > described
> > > > > in
> > > > > > the
> > > > > > > > > KIP,
> > > > > > > > > > > is
> > > > > > > > > > > > > for
> > > > > > > > > > > > > > > user to always create the topic with the full
> list
> > > of
> > > > > > configs
> > > > > > > > > it
> > > > > > > > > > > may
> > > > > > > > > > > > > want
> > > > > > > > > > > > > > > to override. Can you help me understand what
> is the
> > > > > > drawback
> > > > > > > > of
> > > > > > > > > > > this
> > > > > > > > > > > > > > > approach?
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > Dong
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > On Mon, Dec 4, 2017 at 11:30 AM, dan <
> > > > > > dan.norw...@gmail.com>
> > > > > > > > > > > wrote:
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > Dong,
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > i added a section on current state and
> > > workarounds
> > > > > > along
> > > > > > > > with
> > > > > > > > > > my
> > > > > > > > > > > > > > > arguments
> > > > > > > > > > > > > > > > for why they are less than optimal to the
> wiki.
> > > but
> > > > > the
> > > > > > > > jist
> > > > > > > > > of
> > > > > > > > > > > it
> > > > > > > > > > > > is
> > > > > > > > > > > > > > you
> > > > > > > > > > > > > > > > can end up with messages in your topic in an
> > > > > > > > > incorrect/invalid
> > > > > > > > > > > > state
> > > > > > > > > > > > > if
> > > > > > > > > > > > > > > you
> > > > > > > > > > > > > > > > do this.
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > thanks,
> > > > > > > > > > > > > > > > dan
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > On Mon, Dec 4, 2017 at 10:53 AM, Dong Lin <
> > > > > > > > > lindon...@gmail.com
> > > > > > > > > > >
> > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Hey Dan,
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Thanks for the KIP. Can you help me
> understand
> > > the
> > > > > > > > > motivation
> > > > > > > > > > > by
> > > > > > > > > > > > > > > > providing
> > > > > > > > > > > > > > > > > a use-case that can not be easily completed
> > > without
> > > > > > this
> > > > > > > > > KIP?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > It seems that most users will simply
> create the
> > > > > topic
> > > > > > > > > without
> > > > > > > > > > > > > > worrying
> > > > > > > > > > > > > > > > > about the default configs. If a user has
> > > specific
> > > > > > > > > requirement
> > > > > > > > > > > for
> > > > > > > > > > > > > the
> > > > > > > > > > > > > > > > > default configs, he/she can use
> > > > > > > > > AdminClient.describeConfigs()
> > > > > > > > > > > and
> > > > > > > > > > > > > > > > > AdminClient.alterConfigs() after the topic
> has
> > > been
> > > > > > > > > created.
> > > > > > > > > > > This
> > > > > > > > > > > > > > seems
> > > > > > > > > > > > > > > > to
> > > > > > > > > > > > > > > > > work well. Did I miss something?
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > Thanks,
> > > > > > > > > > > > > > > > > Dong
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > On Mon, Dec 4, 2017 at 9:25 AM, dan <
> > > > > > > > dan.norw...@gmail.com
> > > > > > > > > >
> > > > > > > > > > > > wrote:
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > I would like to start a discussion about
> > > KIP-234
> > > > > > > > > > > > > > > > > > https://cwiki.apache.org/
> > > > > > confluence/display/KAFKA/KIP-
> > > > > > > > > > > > > > > > > > 234%3A+add+support+for+
> > > > > > getting+topic+defaults+from+
> > > > > > > > > > > AdminClient
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > > > thanks
> > > > > > > > > > > > > > > > > > dan
> > > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > > >
> > > > > > > > > > > > > > >
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > >
> > > > >
> > >
>

Reply via email to