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

Daryn Sharp commented on HADOOP-9820:
-------------------------------------

Summary of offline messages to Sanjay who is reviewing:
# Sasl wrapped message are sent in RPC/SASL protobufs like other SASL messages
# Code shifted in Server to decode SASL wrapped packets in the code path 
invoked by processRpcOutOfBandRequest which handles other SASL packets
# Client's SaslInputStream replacement unwraps SASL wrapped messages, leaves 
others alone
# Client's SaslOutputStream replacement adds the RPC header because existing 
one does length/encrypted-payload only
# Replacement SaslOutputStream correctly uses a buffered stream of the SASL 
negotiated size for wrapping.  Existing SaslOutputStream impl was wrong but 
accidentally worked because of a smaller buffered stream atop it.
# Slight optimization that Client isn't unnecessarily given sasl streams (that 
are no-ops) when wrapping isn't being done
# Per comments, would be cleaner to decode all RPC packets in Client and route 
SASL messages to SaslRpcClient, but decoding is currently split across 
Client/SaslRpcClient.  SaslRpcClient handles RPC decoding during 
authentication, but then Client decodes the rest of the stream with no 
knowledge of SASL.  In the future, Client should decode all RPC packets and 
route SASL to SaslRpcClient.
                
> RPCv9 wire protocol is insufficient to support multiplexing
> -----------------------------------------------------------
>
>                 Key: HADOOP-9820
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9820
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc, security
>    Affects Versions: 3.0.0, 2.1.0-beta
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>            Priority: Blocker
>         Attachments: HADOOP-9820.patch
>
>
> RPCv9 is intended to allow future support of multiplexing.  This requires all 
> wire messages to be tagged with a RPC header so a demux can decode and route 
> the messages accordingly.
> RPC ping packets and SASL QOP wrapped data is known to not be tagged with a 
> header.

--
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