[ 
http://issues.apache.org/jira/browse/HADOOP-252?page=comments#action_12420965 ] 

Milind Bhandarkar commented on HADOOP-252:
------------------------------------------

One minor change, the VersionedProtocol base interface contains exactly one 
method:

public long getProtocolVersion(String protocolClassName, long clientVersionID);

This is because servers that implement multiple protocols can return 
appropriate versionID's corresponding to the proxy.
Later versions can also adapt their behavior according to the client version. 
If a server is adaptive, then it can return the less of client version and 
server version. (negotiation is left to the implementor of these adaptive 
protocols).

Currently, the server ignores the clientVersion, and returns its own version 
for the requested interface.

I will submit a patch shortly.

> add versioning to RPC
> ---------------------
>
>          Key: HADOOP-252
>          URL: http://issues.apache.org/jira/browse/HADOOP-252
>      Project: Hadoop
>         Type: Improvement

>   Components: ipc
>     Versions: 0.3.0
>     Reporter: Yoram Arnon
>      Fix For: 0.5.0

>
> currently, any change to any rpc message breaks the protocol, with mysterious 
> exceptions occurring at run time.
> a versioning sceme would have two benefits:
> - intelligent error messages, indicating that an upgrade is required
> - backwards compatibility could be supported.
> the proposal is to add a "const version" for each protocol, and a method: int 
> getVersion(int version) that sends the client's version and receives the 
> server's version. This would be the first method invoked on connection. Both 
> sides then either agree on the lowest version number, providing backwards 
> compatibility support, or abort the connection as "unsupported version".

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to