[ 
https://issues.apache.org/jira/browse/HADOOP-9421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679107#comment-13679107
 ] 

Luke Lu commented on HADOOP-9421:
---------------------------------

bq. As-is, it would be possible for the client to blindly send the connection 
header & INITIATE and just ignore the NEGOTIATE response.

I'm concerned about the client code needed to maintain backward-compatibility. 
If client is enhanced to INITIATE first, client will need to always ignore the 
first NEGOTIATE and have to handle the second NEGOTIATE, which makes the client 
logic confusing and you cannot make the first dumb NEGOTIATE (which is size of 
O(number of mechs/protocols)) go away, it'll always be part of the protocol. 
The code is also replicated per client per language, which is a higher cost 
than just maintaining it at the server side. If client always sends a INITIATE, 
which could be empty, it is IMO easier to understand and evolve: server can 
handle the INITIATE and there will not be any wasted NEGOTIATE. In the era of 
YARN, where NN is resource strapped to handle the flood of requests from 
containers/tasks, I think it'd be worthwhile to leave room for optimization to 
reduce the amount of extra processing at the server side. The current approach 
will always have an extra NEGOTIATE that cannot be optimized away.

Also, I noticed that you deprecated DIGEST and added TOKEN as an auth method 
(essentially renamed DIGEST to TOKEN) in SaslRpcServer. Though DIGEST is not 
exactly a precise word here, TOKEN is, IMO, even more nebulous. How about 
CHALLENGE_RESPONSE or simply CR? I'd prefer the rename to be in separate JIRA 
as well, as it doesn't really affect the wire protocol. 
                
> Convert SASL to use ProtoBuf and add lengths for non-blocking processing
> ------------------------------------------------------------------------
>
>                 Key: HADOOP-9421
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9421
>             Project: Hadoop Common
>          Issue Type: Sub-task
>    Affects Versions: 2.0.3-alpha
>            Reporter: Sanjay Radia
>            Assignee: Daryn Sharp
>         Attachments: HADOOP-9421.patch, HADOOP-9421.patch, HADOOP-9421.patch, 
> HADOOP-9421.patch, HADOOP-9421-v2-demo.patch
>
>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to