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