[
https://issues.apache.org/jira/browse/HDFS-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12853620#action_12853620
]
Doug Cutting commented on HDFS-1077:
------------------------------------
> However, if a server implements multiple independent RPC protocols, then we
> cannot require their method names to not conflict.
Currently Hadoop relies on Java interface semantics: if a service implements
two interfaces with methods of the same signature (unqualified name + param
types) then they're collapsed into a single method in the implementation. Avro
reflect's implementation is similar, except equality is not on signature but of
method name, since Avro supports evolution of message parameters.
> Aren't the method name prefixed by the protocol name?
In Avro a service could determine which protocol each call belongs to. But in
Hadoop we've implemented servers that respond to all the methods of numerous
protocols, distinguished by method name and parameter types, not by protocol.
Avro reflect, for compatibility, has followed this convention. We could
instead, e.g., dispatch each service to a different server-side object based on
the protocol, but that would require much more extensive changes to Hadoop.
> namenode RPC protocol method names are overloaded
> -------------------------------------------------
>
> Key: HDFS-1077
> URL: https://issues.apache.org/jira/browse/HDFS-1077
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: name-node
> Reporter: Doug Cutting
> Assignee: Doug Cutting
>
> Avro RPC does not permit two different messages with the same name. Several
> namenode RPC protocol method names are overloaded.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.