On Thu, Sep 19, 2019, at 06:31, Rajini Sivaram wrote:
> Hi Colin,
> 
> Thanks for reviewing the KIP!
> 
> I have added default values for the RPC. Since other int fields seem to be
> using -1, I used -1 as the default for NumPartitions and ReplicationFactor.
> 

Thanks.

> I think a single method that returns TopicConfig seems better because tools
> that are interested in the response are likely to process all of them. And
> we can describe exceptions etc. together in one place (and tools can handle
> them together too). I am ok with three methods too if there is good reason
> to change. Is there a specific reason why we would want to keep them
> separate?

I guess my thinking was that if we add new things that we return in the future, 
we will have to somehow mark those as not present when talking to older 
brokers.  So we won't really be able to add anything else to TopicConfig unless 
we add it as a Future which could throw UnsupportedVersionException.  This 
would be inconsistent with what we already have, which is a structure which 
does not contain futures.

Also, the name TopicConfig seems a bit misleading since number of replicas, 
etc. is not usually considered a topic configuration (although I guess 
philosophically it is...).  Usually "topic configuration" means the key/value 
pairs, right?

best,
Colin

> 
> Thank you,
> 
> Rajini
> 
> On Wed, Sep 18, 2019 at 9:23 PM Colin McCabe <cmcc...@apache.org> wrote:
> 
> > Hi Rajini,
> >
> > Thanks for the KIP.  I think this will be a great improvement.
> >
> > For NumPartitions, ReplicationFactor, and Configs, we need some reasonable
> > default value in the RPC which can be used for requests that are too old to
> > contain this information.  I'd suggest 0, 0, and null, respectively.  That
> > way we can, for example, distinguish between a response with zero configs
> > and a response that's too old to have config information.
> >
> > I'm curious what you think about having three functions in
> > CreateTopicsResult rather than one.  Maybe:
> >
> >  >  public KafkaFuture<Config> config(String topic);
> >  >  public KafkaFuture<Integer> numPartitions(String topic);
> >  >  public KafkaFuture<Integer> replicationFactor(String topic);
> >
> > Or is it better to have the "public KafkaFuture<TopicConfig>
> > topicConfig(String topic)" method?
> >
> > best,
> > Colin
> >
> >
> > On Tue, Sep 17, 2019, at 02:12, Rajini Sivaram wrote:
> > > Hi all,
> > >
> > > Since this is minor KIP, I will start vote tomorrow if there are no
> > > concerns.
> > >
> > > Thank you,
> > >
> > > Rajini
> > >
> > > On Fri, Sep 13, 2019 at 10:17 PM Rajini Sivaram <rajinisiva...@gmail.com
> > >
> > > wrote:
> > >
> > > > Hi all,
> > > >
> > > > I would like to start discussion on KIP-525 to return topic configs in
> > > > CreateTopics response:
> > > >
> > > >    -
> > > >
> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-525+-+Return+topic+metadata+and+configs+in+CreateTopics+response
> > > >
> > > >
> > > > When validateOnly=false, this will be the actual configs of the created
> > > > config. If validateOnly=true, this will be the configs with which the
> > topic
> > > > would have been created. This provides an alternative to
> > > >
> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-234%3A+add+support+for+getting+topic+defaults+from+AdminClient
> > > > .
> > > >
> > > > Comments and suggestions welcome.
> > > >
> > > > Thank you,
> > > >
> > > > Rajini
> > > >
> > > >
> > >
> >
>

Reply via email to