Thanks, Jun.

<<<100
I added this line to the KIP to clarify the SSL issue:
"This KIP has no impact on non-SASL connections (e.g. connections that use
the PLAINTEXT or SSL security protocols) – no such connection will be
re-authenticated, and no such connection will be closed."

<<<101
Your comment points out two issues, I think.  First, there is a direct
clarity problem: in the KIP, by the phrase "requests that queued up during
re-authentication" I was really intending to refer to both the in-flight
responses that might return from the broker during re-authentication along
with any pending Send request that is set on the KafkaChannel instance and
has not yet been transmitted to the broker (this is the Send that triggers
the re-authentication check to occur, and when the session is "expired" the
re-authentication process then begins).  So I clarified the text in the KIP
tp refer directly to both of these things.  But before I insert that
amended text, note that the second issue (the implementation option of
marking the channel unavailable for send during re-authentication) also
points out a clarity problem in the KIP because the channel is in fact
unavailable for send during re-authentication.  The reason is because
KafkaChannel#ready() will return false until the Authenticator finishes the
re-authentication, and this causes KafkaClient#isReady(Node, long) and
KafkaClient#ready(Node,
long) to both return false.  So in fact the client will not be able to
queue up send after send.  I've therefore updated the KIP text as follows:
"If re-authentication succeeds then any received responses that queued up
during re-authentication along with the Send that triggered the
re-authentication to occur in the first place will subsequently be able to flow
through (back to the client and along to the broker, respectively), and
eventually the connection will re-authenticate again, etc.  Note also that
the client cannot queue up additional send requests beyond the one that
triggers re-authentication to occur until re-authentication succeeds and
the triggering one is sent."

<<<102
Good catch about the client-side metric not having a name or a clear
definition of what it measures.  That is an oversight.  I will resolve this
via a post on the DISCUSS thread:
https://lists.apache.org/thread.html/a63c1612fe9ba2f31272087a00419c59ed7a9917c398721069cd1d01@%3Cdev.kafka.apache.org%3E

<<<103
We re-use the existing authentication code paths for re-authentication, and
it appears (
https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/security/authenticator/SaslClientAuthenticator.java#L182)
that the version used by the broker when it is acting as an inter-broker
SASL client is the max version supported by the destination broker.  Am I
missing something?

Thanks again, Jun.

Ron




On Mon, Sep 24, 2018 at 7:46 PM Jun Rao <j...@confluent.io> wrote:

> Hi, Ron,
>
> Thanks for the KIP. Looks good to me overall. So, +1 assuming the following
> minor comments will be addressed.
>
> 100. connections.max.reauth.ms: A client can authenticate with the broker
> using SSL. This config has no impact on such connections. It would be
> useful to make it clear in the documentation. Also, in this case, I guess
> the broker won't kill the SSL connection after connections.max.reauth.ms?
>
> 101. "If re-authentication succeeds then any requests that queued up during
> re-authentication will subsequently be able to flow through, and eventually
> the connection will re-authenticate again, etc.". This is more of an
> implementation detail. I guess the proposal is to queue up new requests in
> the client when there is is pending re-authentication. An alternative is to
> mark the Channel unavailable for send during re-authentication. This has
> the slight benefit of reducing the client memory footprint.
>
> 102. "A client-side metric will be created that documents the latency
> imposed by re-authentication." What's the name of this metric? Does it
> measure avg or max?
>
> 103. "Upgrade all brokers to v2.1.0 or later at whatever rate is desired
> with 'connections.max.reauth.ms' allowed to default to 0.  If SASL is used
> for the inter-broker protocol then brokers will check the SASL_AUTHENTICATE
> API version and use a V1 request when communicating to a broker that has
> been upgraded to 2.1.0, but the client will see the "0" session max
> lifetime and will not re-authenticate. ". Currently, for the inter broker
> usage of NetworkClient (ReplicaFetcherThread, ControllerChannelManager,
> etc), the broker version discovery logic is actually disabled and the
> client is expected to use the new version of the request after
> inter.broker.protocol.version is set to the current version. So, we will
> need to rely on this for deciding whether the NetworkClient should use the
> re-authenticate request or not, during upgrade.
>
> Jun
>
> On Mon, Sep 24, 2018 at 4:39 PM, Ron Dagostino <rndg...@gmail.com> wrote:
>
> > Still looking for a final +1 binding vote to go with the 9 votes so far
> (2
> > binding, 7 non-binding).
> >
> > Ron
> >
> > > On Sep 24, 2018, at 3:53 PM, Ron Dagostino <rndg...@gmail.com> wrote:
> > >
> > >  **Please vote** . It's getting late in the day and this KIP still
> > requires 1 more binding up-vote to be considered for the 2.1.0 release.
> > >
> > > The current vote is 2 binding +1 votes (Rajini and Harsha) and 7
> > non-binding +1 votes (myself, Mike, Konstantin, Boerge, Edoardo,
> Stanislav,
> > and Mickael).
> > >
> > > Ron
> > >
> > >> On Mon, Sep 24, 2018 at 9:47 AM Ron Dagostino <rndg...@gmail.com>
> > wrote:
> > >> Hi Everyone.  This KIP still requires 1 more binding up-vote to be
> > considered for the 2.1.0 release.  **Please vote before today's
> end-of-day
> > deadline.**
> > >>
> > >> The current vote is 2 binding +1 votes (Rajini and Harsha) and 7
> > non-binding +1 votes (myself, Mike, Konstantin, Boerge, Edoardo,
> Stanislav,
> > and Mickael).
> > >>
> > >> Ron
> > >>
> > >>> On Fri, Sep 21, 2018 at 11:48 AM Mickael Maison <
> > mickael.mai...@gmail.com> wrote:
> > >>> +1 (non-binding)
> > >>> Thanks for the KIP, this is a very nice feature.
> > >>> On Fri, Sep 21, 2018 at 4:56 PM Stanislav Kozlovski
> > >>> <stanis...@confluent.io> wrote:
> > >>> >
> > >>> > Thanks for the KIP, Ron!
> > >>> > +1 (non-binding)
> > >>> >
> > >>> > On Fri, Sep 21, 2018 at 5:26 PM Ron Dagostino <rndg...@gmail.com>
> > wrote:
> > >>> >
> > >>> > > Hi Everyone.  This KIP requires 1 more binding up-vote to be
> > considered for
> > >>> > > the 2.1.0 release; please vote before the Monday deadline.
> > >>> > >
> > >>> > > The current vote is 2 binding +1 votes (Rajini and Harsha) and 5
> > >>> > > non-binding +1 votes (myself, Mike, Konstantin, Boerge, and
> > Edoardo).
> > >>> > >
> > >>> > > Ron
> > >>> > >
> > >>> > > On Wed, Sep 19, 2018 at 12:40 PM Harsha <ka...@harsha.io> wrote:
> > >>> > >
> > >>> > > > KIP looks good. +1 (binding)
> > >>> > > >
> > >>> > > > Thanks,
> > >>> > > > Harsha
> > >>> > > >
> > >>> > > > On Wed, Sep 19, 2018, at 7:44 AM, Rajini Sivaram wrote:
> > >>> > > > > Hi Ron,
> > >>> > > > >
> > >>> > > > > Thanks for the KIP!
> > >>> > > > >
> > >>> > > > > +1 (binding)
> > >>> > > > >
> > >>> > > > > On Tue, Sep 18, 2018 at 6:24 PM, Konstantin Chukhlomin <
> > >>> > > > chuhlo...@gmail.com>
> > >>> > > > > wrote:
> > >>> > > > >
> > >>> > > > > > +1 (non binding)
> > >>> > > > > >
> > >>> > > > > > > On Sep 18, 2018, at 1:18 PM,
> michael.kamin...@nytimes.com
> > wrote:
> > >>> > > > > > >
> > >>> > > > > > >
> > >>> > > > > > >
> > >>> > > > > > > On 2018/09/18 14:59:09, Ron Dagostino <rndg...@gmail.com
> >
> > wrote:
> > >>> > > > > > >> Hi everyone.  I would like to start the vote for
> KIP-368:
> > >>> > > > > > >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> > >>> > > > > > 368%3A+Allow+SASL+Connections+to+Periodically+Re-
> > Authenticate
> > >>> > > > > > >>
> > >>> > > > > > >> This KIP proposes adding the ability for SASL clients
> > (and brokers
> > >>> > > > when
> > >>> > > > > > a
> > >>> > > > > > >> SASL mechanism is the inter-broker protocol) to
> > re-authenticate
> > >>> > > > their
> > >>> > > > > > >> connections to brokers and for brokers to close
> > connections that
> > >>> > > > > > continue
> > >>> > > > > > >> to use expired sessions.
> > >>> > > > > > >>
> > >>> > > > > > >> Ron
> > >>> > > > > > >>
> > >>> > > > > > >
> > >>> > > > > > > +1 (non binding)
> > >>> > > > > >
> > >>> > > > > >
> > >>> > > >
> > >>> > >
> > >>> >
> > >>> >
> > >>> > --
> > >>> > Best,
> > >>> > Stanislav
> >
>

Reply via email to