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

Yoram Arnon commented on HADOOP-252:
------------------------------------

having a handshake when setting up a connection is fairly standard.
Both sides may either agree on the lowest common denominator, and send messages 
in a previously supported format, or decide to throw. It's better than a 
version in each message for two reasons:
1(minor) a few bytes less per message
2(major) allows a new component to avoid sending new messages to an old 
component, that doesn't support it.

> 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