Details
Description
Currently RPC communications in Hadoop is very strict. If a client has a different version from that of the server, a VersionMismatched exception is thrown and the client can not connect to the server. This force us to update both client and server all at once if a RPC protocol is changed. But sometime different versions do not mean the client & server are not compatible. It would be nice if we could relax this restriction and allows us to support inter-version communications.
My idea is that DfsClient catches VersionMismatched exception when it connects to NameNode. It then checks if the client & the server is compatible. If yes, it sets the NameNode version in the dfs client and allows the client to continue talking to NameNode. Otherwise, rethrow the VersionMismatch exception.
Attachments
Attachments
Issue Links
- is depended upon by
-
HDFS-1335 HDFS side of HADOOP-6904: first step towards inter-version communications between dfs client and NameNode
- Resolved
-
MAPREDUCE-2263 MapReduce side of HADOOP-6904
- Closed
- is related to
-
GIRAPH-168 Simplify munge directive usage with new munge flag HADOOP_SECURE (rather than HADOOP_FACEBOOK) and remove usage of HADOOP
- Resolved
-
HADOOP-6659 Switch RPC to use Avro
- Resolved
-
HADOOP-7347 IPC Wire Compatibility
- Resolved