[ https://issues.apache.org/jira/browse/HDFS-3453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281620#comment-13281620 ]
Kihwal Lee commented on HDFS-3453: ---------------------------------- A bit more on the incompatibility: ClientProtocol and namenode still have the original method and implementation. So pre-1.0 clients can still talk to 1.0.x namenodes. The 1.0.x client, on the other hand, internally calls only the new method; The original create method is never called. Since pre-1.0 namenode does not understand this new method, 1.0 clients cannot create files on pre-1.0 clusters. The patch makes client call the new method only when createParent is set to false. All others will be fulfilled by the original method. The protocol-level incompatibility still exists, but that only manifests when the new file system level method, FileSystem#createNonRecursive(), is explicitly called. Normal use cases within hadoop do not use this method. Currently only SequenceFile#createWriter() calls it when caller specifically asks for it. This was added to support HBase. In summary, 1.0.x and pre-1.0 are incompatible, but become interoperable with this patch for most use cases. > HDFS does not use ClientProtocol in a backward-compatible way > ------------------------------------------------------------- > > Key: HDFS-3453 > URL: https://issues.apache.org/jira/browse/HDFS-3453 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs client > Affects Versions: 1.0.0 > Reporter: Kihwal Lee > Assignee: Kihwal Lee > Fix For: 1.1.0 > > Attachments: hdfs-3453-branch-1.patch > > > HDFS-617 was brought into branch-0.20-security/branch-1 to support > non-recursive create, along with HADOOP-6840 and HADOOP-6886. However, the > changes in HDFS was done in an incompatible way, making the client unusable > against older clusters, even when plain old create() is called. This is > because DFS now internally calls create() through the newly introduced > method. By simply changing how the methods are wired internally, we can > remove this limitation. We may eventually switch back to the approach in > HDFS-617 when the majority of users adopt branch-1 based releases. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira