You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Konstantin Shvachko (JIRA)" <ji...@apache.org> on 2012/08/14 19:55:38 UTC

[jira] [Commented] (HADOOP-8558) Hadoop RPC does not allow protocol extension with common interfaces.

    [ https://issues.apache.org/jira/browse/HADOOP-8558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13434323#comment-13434323 ] 

Konstantin Shvachko commented on HADOOP-8558:
---------------------------------------------

Turns out that the version can be specified in annotation now. In my example above if I add {{ProtocolInfo}} annotation specifying the version like this
{code}
@ProtocolInfo(
    protocolName = "org.apache.hadoop.ipc.TestProtocolExtension$TestProtocol", 
    protocolVersion = TestProtocol.versionID)
public interface ProtocolExtention {
  void logClassName();
}
{code}
the test will pass. {{ProtocolInfo}} was introduced by HADOOP-7524.
                
> Hadoop RPC does not allow protocol extension with common interfaces.
> --------------------------------------------------------------------
>
>                 Key: HADOOP-8558
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8558
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha
>            Reporter: Konstantin Shvachko
>         Attachments: TestProtocolExtension.java
>
>
> Hadoop RPC fails if MyProtocol extends an interface, which is not a VersionedProtocol even if MyProtocol extends also VersionedProtocol. The reason is that Invocation uses Method.getDeclaringClass(), which returns the interface class rather than the class of MyProtocol.
> This is incompatible with former versions.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira