+1 (non-binding) from me, assuming that the changes suggested by Jun below
are included.

Some minor comments.

"5. Clients are recommended to use latest common supported API version."

Maybe this would be clearer as: "Clients are recommended to use latest
version supported by the broker and itself."

"6. Deprecation of a protocol version will be done by marking a protocol
version as deprecated in protocol documentation. Documentation shall also
be used to indicate a protocol version that must not be used, or for any
such information. For instance, say 0.9.0 had protocol versions [0] for api
key 1. On trunk, version 1 of the api key was added. Users running off
trunk started using version 1 of the api and found out a major bug. To
rectify that version 2 of the api is added to trunk. For some reason, it is
now deemed important to have version 2 of the api in 0.9.1 as well. To do
so, version 1 and version 2 both of the api will be backported to the 0.9.1
branch. 0.9.1 broker will return 0 as min supported version for the api and
2 for the max supported version for the api. However, the version 1 should
be clearly marked as deprecated on its documentation. It will be client's
responsibility to make sure they are not using any such deprecated version
to the best knowledge of the client at the time of development (or
alternatively by configuration)."

I still think that the mention of both 0.9.0 and 0.9.1 is confusing and
it's not clear if we need it for this example. If we do need it, then we
should define the state of 0.9.1 compared to 0.9.0 before we decide to
backport APIs.

"11. The broker returns its full list of supported ApiKeys and versions
regardless of current authentication state (e.g., before SASL
authentication). If this is considered to leak information SSL can be used
for early authentication."

I think you mean "SSL with client authentication".

Thanks,
Ismael

On Fri, Apr 22, 2016 at 11:31 AM, Jun Rao <j...@confluent.io> wrote:

> Ashish,
>
> Just a couple of clarifications.
>
> 1. In ApiVersionRequest, we should get rid of ApiKeys since the request has
> an empty body, right?
>
> 2. In ApiVersionResponse, we should list ErrorCode before ApiVersions,
> right?
>
> Thanks,
>
> Jun
>
> On Thu, Apr 21, 2016 at 4:48 PM, Ashish Singh <asi...@cloudera.com> wrote:
>
> > Hey Guys,
> >
> > I would like to re-initiate the voting process for *KIP-35: Retrieve
> > protocol version*.
> >
> > KIP-35 can be accessed here
> > <
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-35+-+Retrieving+protocol+version
> > >.
> > Following are a couple of related PRs.
> >
> >    1. KAFKA-3307: Add ApiVersion request/response and server side
> handling.
> >    <https://github.com/apache/kafka/pull/986>
> >    2. KAFKA-3600: Enhance java clients to use ApiVersion Req/Resp to
> check
> >    if the broker they are talking to supports required api versions.
> >    <https://github.com/apache/kafka/pull/1251>
> >
> > The vote will run for 72 hours and I would like to start it with my +1
> > (non-binding).
> > ​
> > --
> >
> > Regards,
> > Ashish
> >
>

Reply via email to