[ 
http://issues.apache.org/jira/browse/HADOOP-414?page=comments#action_12431919 ] 
            
Doug Cutting commented on HADOOP-414:
-------------------------------------

It would be nice if RPC.Invocation were versioned, since you've changed its 
format.  Old clients talking to new servers (and vice versa) will fail.  It 
would be nice if these failures were accompanied by version-mismatch exceptions.

What if we start sending #xFF at the start of an Invocation as the version?  
The first thing read by the old code is the method name, a UTF8.  So if old 
client code talks to a new daemon, then, unless the method name has 2^16-1 
characters, we could log a version-mismatch and close the connection.  With a 
bit more work, we could even construct a version-mismatch error (using UTF8) 
that the client could read.

If new client code talks to an old server, the old server would try to read a 
method name with 2^16-1 bytes, log an EOF error and close the connection.  Is 
that acceptable?

Or should we punt on this?


> replace class UTF8 with class Text
> ----------------------------------
>
>                 Key: HADOOP-414
>                 URL: http://issues.apache.org/jira/browse/HADOOP-414
>             Project: Hadoop
>          Issue Type: Improvement
>    Affects Versions: 0.5.0
>            Reporter: Hairong Kuang
>         Assigned To: Hairong Kuang
>             Fix For: 0.6.0
>
>         Attachments: utf2text.patch
>
>
> Since class UTF8 is deprecated, all references of UTF8 in hadoop should be 
> replaced with class Text if the change does not break the system. 

-- 
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