hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Milind Bhandarkar (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-252) add versioning to RPC
Date Thu, 13 Jul 2006 23:30:30 GMT
    [ 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

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

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message