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

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

connections are dedicated to a protocol, in that a client connects to a server 
that's waiting on some port serving a single protocol.
a datanode only serves the datanode protocol. likewise namenode etc.

the idea is that the test is done after the tcp connection setup, as the first 
message passed between client and server. It's actually one more method of each 
protocol, identifying both sides' versions of the protocol. It would be part of 
the protocol; it's technically sound...

> 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