hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sanjay Radia (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6904) A baby step towards inter-version communications between dfs client and NameNode
Date Wed, 24 Nov 2010 06:02:14 GMT

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

Sanjay Radia commented on HADOOP-6904:

Hairong, to summarize our discussion today:
GetProtocolVersion() could return the  server method names; we can optimize this if the version
numbers match exactly.
This would allow the client side to determine what is supported on SS without having a messy
switch statement on the V#.

The main issue you raised is how do we return this to the caller of getProxy(). The two options
we discussed were
* when  Proxy#getProtocolVersion() is called, the proxy can return the cached info that it
obtained when   getProtocolVersion() was first called.
* let getProxy() return an object that contains the proxy object and also the M#, m# and the
method names/signatures.

> A baby step towards inter-version communications between dfs client and NameNode
> --------------------------------------------------------------------------------
>                 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, 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
> 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.

View raw message