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

Rushabh S Shah commented on HADOOP-15336:
-----------------------------------------

Thanks [~elgoiri] for chiming in.
bq. The reason for the Router to decode the request is because it needs to know 
the path the request is going to.
In the above stack trace, router is decoding response from namenode _not 
request_. So it doesn't need to decode.

bq. Regarding the backwards compatibility issue, I don't think this is 
introducing one but fixing one.
The {{backwards incompatible}} flag on this jira means {{HADOOP-14104}} 
introduced this incompatibility and that is not correct. I wasn't clear earlier.

bq. In any case, this is a general issue and you can repro by having a client 
and a server (no need for a Router).
You can't reproduce this issue if there are only 2 components.
Assuming client (dfs client) is 3.2 and server(namenode) is 2.7.
2.7 Namenode doesn't support return keyProviderUri in {{FsServerDefaults}} and 
there is {{hasKeyProviderUri}} check on client side so it won't throw NPE.
Assuming client (dfs client) is 2.7 and server(namenode) is 3.2.
Namenode supports returning {{keyProviderUri}} but client doesn't understand 
{{keyProviderUri}} and since {{keyProviderUri}} is an optional field in 
protobuf, client will decode the fields only it understands. 



> NPE for FsServerDefaults.getKeyProviderUri() for clientProtocol communication 
> between 2.7 and 3.2
> -------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-15336
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15336
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 3.1.0, 3.2.0
>            Reporter: Sherwood Zheng
>            Assignee: Sherwood Zheng
>            Priority: Major
>              Labels: backward-incompatible, common
>         Attachments: HADOOP-15336.000.patch, HADOOP-15336.001.patch
>
>
> KeyProviderUri is not available in 2.7 so when 2.7 clients contact with 3.2 
> services, it cannot find the key provider URI and triggers a 
> NullPointerException.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to