[ https://issues.apache.org/jira/browse/HADOOP-6904?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hairong Kuang updated HADOOP-6904: ---------------------------------- Attachment: rpcCompatible-trunk1.patch Thanks Doug for your review. The new patch rpcCompatible-trunk1.patch addressed your and Dhruba's comments. Good catch on Method hashcode calculation! I fixed it in the new patch and changed the unit test to make sure that overloading methods have different hashcodes. I also incorporated other comments except for a hashcode of longs because the java standard is to have hashcode of type integer.Let me know If you insisted on longs. This patch makes changes to some unit tests due to the interface change of getProxy. I will also load this patch to review board. > A baby step towards inter-version RPC communications > ---------------------------------------------------- > > Key: HADOOP-6904 > URL: https://issues.apache.org/jira/browse/HADOOP-6904 > Project: Hadoop Common > Issue Type: New Feature > Components: ipc > Affects Versions: 0.22.0 > Reporter: Hairong Kuang > Assignee: Hairong Kuang > Fix For: 0.22.0 > > Attachments: majorMinorVersion.patch, majorMinorVersion1.patch, > rpcCompatible-trunk.patch, rpcCompatible-trunk1.patch, rpcVersion.patch, > rpcVersion1.patch > > > 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. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.