Hi all,

We're getting close to the final 0.11 release and we still haven't
gotten the version retrieval API for AdminClient in, as described by
KAFKA-5214.  Let's put this off until the next release so that we have
some time to let it soak before shipping.  This will just mean that we
will remove AdminClient#apiVersions for now, until the next release.  It
will still be possible to get version information with the existing
kafka-broker-api-versions.sh script.

best,
Colin


On Sat, Jun 3, 2017, at 01:08, Ismael Juma wrote:
> Hi Colin,
> 
> Thanks for the feedback. Regarding the behaviour for brokers older than
> 0.11.0, I had gone for the Javadoc note because it made it possible to
> avoid the inefficiency of getting all topics for users who have disabled
> auto topic creation.
> 
> After some thought and discussion, I agree that keeping the behaviour
> consistent across broker versions is the better option, so the PR was
> updated to do that.
> 
> Ismael
> 
> On Mon, May 22, 2017 at 7:42 PM, Colin McCabe <cmcc...@apache.org> wrote:
> 
> > > As you noted, though, we don't have a way to do this for the 0.10.x
> > > releases.  It seems a bit harsh to have such different behavior there.
> > > Is there a way that we can fudge this a bit so that it mostly works?
> > > For example, when communicating with 0.10.x brokers, describeTopics
> > > could do a MetadataRequest(topics=*) to filter out non-existent topics.
> > >
> > > This would obviously have a bit of a time-of-check, time-of-use race
> > > condition since we're making two calls.  And also a scalability problem
> > > since we're using topics=*.  Is it worth it to make the behavior saner
> > > on older brokers?  Or should we add a JavaDoc note and move on?
> > >
> > > best,
> > > Colin
> > >
> > >
> > > On Fri, May 19, 2017, at 05:46, Ismael Juma wrote:
> > > > Hi all,
> > > >
> > > > Feedback from people who tried the AdminClient is that auto topic
> > > > creation
> > > > during describe is unexpected and confusing. This is consistent with
> > the
> > > > reaction of most people when they learn that MetadataRequest can cause
> > > > topics to be created. We had assumed that we'd tackle this issue for
> > all
> > > > the clients as part of deprecation of server-side auto topic creation
> > in
> > > > favour of client-side auto-topic creation.
> > > >
> > > > However, it would be better to do the right thing for the AdminClient
> > > > from
> > > > the start. Users will be less confused and we won't have to deal with
> > > > compatibility concerns. Jason suggested a simple solution: make it
> > > > possible
> > > > to disallow auto topic creation when sending the metadata request. The
> > > > AdminClient would take advantage of this now (i.e. 0.11.0.0) while the
> > > > producer and consumer would retain the existing behaviour. In a
> > > > subsequent
> > > > release, we'll work out the details of how to move away from
> > server-side
> > > > auto topic creation for the producer and consumer (taking into account
> > > > the
> > > > compatibility impact).
> > > >
> > > > Because of the protocol change, this solution would only help in cases
> > > > where the AdminClient is describing topics from a 0.11.0.0 or newer
> > > > broker.
> > > >
> > > > I submitted a PR for this and it's small and straightforward:
> > > >
> > > > https://github.com/apache/kafka/pull/3098
> > > >
> > > > Thoughts?
> > > >
> > > > Ismael
> > > >
> > > > On Sat, Mar 25, 2017 at 1:25 AM, Colin McCabe <cmcc...@apache.org>
> > wrote:
> > > >
> > > > > With binding +1 votes from Gwen Shapira, Sriram Subramanian, and
> > Grant
> > > > > Henke, and a non-binding vote from Dong Lin, the vote passes.  There
> > > > > were no +0 or -1 votes.  As mentioned earlier, the interface will be
> > > > > unstable at first and we will continue to evolve it.
> > > > >
> > > > > thanks,
> > > > > Colin McCabe
> > > > >
> > > > >
> > > > > On Wed, Mar 22, 2017, at 10:21, Colin McCabe wrote:
> > > > > > On Fri, Mar 17, 2017, at 10:50, Jun Rao wrote:
> > > > > > > Hi, Colin,
> > > > > > >
> > > > > > > Thanks for the KIP. Looks good overall. A few comments below.
> > > > > > >
> > > > > > > 1. Sometimes we return
> > > > > > >     CompletableFuture<Map<String, TopicDescription>>
> > > > > > > and some other times we return
> > > > > > >     Map<String, CompletableFuture<Void>>
> > > > > > > , which doesn't seem consistent. Is that intentional?
> > > > > >
> > > > > > Yes, this is intentional.  We got feedback from some people that
> > they
> > > > > > wanted a single future that would fail if anything failed.  Other
> > people
> > > > > > wanted to be able to detect failures on individual elements of a
> > batch.
> > > > > > This API lets us have both (you just choose which future you want
> > to
> > > > > > wait on).
> > > > > >
> > > > > > >
> > > > > > > 2. We support batching in CreateTopic/DeleteTopic/ListTopic,
> > but not
> > > > > in
> > > > > > > DescribeTopic. Should we add batching in DescribeTopic to make it
> > > > > > > consistent?
> > > > > >
> > > > > > Good idea.  Let's add batching to DescribeTopic(s).
> > > > > >
> > > > > > > Also, both ListTopic and DescribeTopic seem to return
> > > > > > > TopicDescription. Could we just consolidate the two by just
> > keeping
> > > > > > > DescribeTopic?
> > > > > >
> > > > > > Sorry, that was a typo.  ListTopics is supposed to return
> > TopicListing,
> > > > > > which tells you only the name of the topic and whether it is
> > internal.
> > > > > > The idea is that later we will add another RPC which allows us to
> > fetch
> > > > > > just this information, and not the other topic fields. That way,
> > we can
> > > > > > be more efficient.  The idea is that ListTopics is like
> > readdir()/ls and
> > > > > > DescribeTopics is like stat().  Getting detailed information about
> > > > > > 1,000s of topics could be quite a resource hog for cluster
> > management
> > > > > > systems in a big cluster.
> > > > > >
> > > > > > >
> > > > > > > 3. listNodes: At the request protocol level, we can get things
> > like
> > > > > > > clusterId and controller broker id. Both are useful info from an
> > admin
> > > > > > > perspective, but are not exposed through the api. Perhaps we can
> > > > > > > generalize
> > > > > > > listNodes to sth like describeCluster so that we can return those
> > > > > > > additional info as well?
> > > > > >
> > > > > > Yeah, let's change listNodes -> describeCluster.
> > > > > >
> > > > > > >
> > > > > > > 4. Configurations: To support security, we will need to include
> > all
> > > > > > > properties related to SSL and SASL.
> > > > > >
> > > > > > Yeah
> > > > > >
> > > > > > best,
> > > > > > Colin
> > > > > >
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > Jun
> > > > > > >
> > > > > > >
> > > > > > > On Thu, Mar 16, 2017 at 11:59 PM, Colin McCabe <
> > cmcc...@apache.org>
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi all,
> > > > > > > >
> > > > > > > > It seems like people agree with the basic direction of the
> > proposal
> > > > > and
> > > > > > > > the API, including the operations that are included, the async
> > and
> > > > > > > > batching support, and the mechanisms for extending it in the
> > > > > future.  If
> > > > > > > > there's no more votes, I'd like to close the vote and start
> > progress
> > > > > on
> > > > > > > > this.
> > > > > > > >
> > > > > > > > I think the API should be unstable for a while (at least until
> > the
> > > > > 0.11
> > > > > > > > release is made), so we can consider ways to improve it.  A
> > few have
> > > > > > > > been suggested here: removing or adding functions, renaming
> > things a
> > > > > > > > bit, or using request objects instead of options objects.  I
> > think
> > > > > once
> > > > > > > > people try out the API a bit, it will be easier to evaluate
> > these.
> > > > > > > >
> > > > > > > > best,
> > > > > > > > Colin
> > > > > > > >
> > > > > > > >
> > > > > > > > On Tue, Mar 14, 2017, at 10:12, Dong Lin wrote:
> > > > > > > > > +1
> > > > > > > > >
> > > > > > > > > On Tue, Mar 14, 2017 at 8:50 AM, Grant Henke <
> > ghe...@cloudera.com>
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > +1
> > > > > > > > > >
> > > > > > > > > > On Tue, Mar 14, 2017 at 2:44 AM, Sriram Subramanian <
> > > > > r...@confluent.io>
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > +1 (binding)
> > > > > > > > > > >
> > > > > > > > > > > Nice work in driving this.
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Mar 13, 2017 at 10:31 PM, Gwen Shapira <
> > > > > g...@confluent.io>
> > > > > > > > > > wrote:
> > > > > > > > > > >
> > > > > > > > > > > > +1 (binding)
> > > > > > > > > > > >
> > > > > > > > > > > > I expressed few concerns in the discussion thread, but
> > in
> > > > > general
> > > > > > > > this
> > > > > > > > > > is
> > > > > > > > > > > > super important to get done.
> > > > > > > > > > > >
> > > > > > > > > > > > On Fri, Mar 10, 2017 at 10:38 AM, Colin McCabe <
> > > > > cmcc...@apache.org
> > > > > > > > >
> > > > > > > > > > > wrote:
> > > > > > > > > > > >
> > > > > > > > > > > > > Hi all,
> > > > > > > > > > > > >
> > > > > > > > > > > > > I'd like to start voting on KIP-117
> > > > > > > > > > > > > (https://cwiki.apache.org/conf
> > luence/display/KAFKA/KIP-
> > > > > > > > > > > > > 117%3A+Add+a+public+AdminClient+API+for+Kafka+
> > > > > admin+operations
> > > > > > > > > > > > > ).
> > > > > > > > > > > > >
> > > > > > > > > > > > > The discussion thread can be found here:
> > > > > > > > > > > > > https://www.mail-archive.com/
> > > > > dev@kafka.apache.org/msg65697.html
> > > > > > > > > > > > >
> > > > > > > > > > > > > best,
> > > > > > > > > > > > > Colin
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > --
> > > > > > > > > > > > *Gwen Shapira*
> > > > > > > > > > > > Product Manager | Confluent
> > > > > > > > > > > > 650.450.2760 | @gwenshap
> > > > > > > > > > > > Follow us: Twitter <https://twitter.com/ConfluentInc>
> > | blog
> > > > > > > > > > > > <http://www.confluent.io/blog>
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > --
> > > > > > > > > > Grant Henke
> > > > > > > > > > Software Engineer | Cloudera
> > > > > > > > > > gr...@cloudera.com | twitter.com/gchenke |
> > > > > linkedin.com/in/granthenke
> > > > > > > > > >
> > > > > > > >
> > > > >
> >

Reply via email to