hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Suresh Srinivas (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-7557) Make IPC header be extensible
Date Fri, 10 Feb 2012 17:35:01 GMT

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

Suresh Srinivas commented on HADOOP-7557:
-----------------------------------------

bq. I provided a patch that's equivalent in functionality to Sanjay's protobuf patch yet is
about half the size, disregarding the protobuf generated code in his patch. 
I feel the intent of your patch was to show how this can be done in key values and hence patch
may not be in final shape. I believe the patch is missing several things. 
# The header, keys and values are not clearly documented. 
# No tests are added. 
# The fact that you are creating ugi in for loop, might not be correct. It may have to be
outside the for loop.
# Other than Key.EOH every thing is optional (rightfully so in some cases). However, not sure
if Key.PROTOCOL could be optional. So checks are needed to ensure mandatory key PROTOCOL is
sent.

BTW to me more than the size, it is maintainability that matters.

bq. I don't think adding some code to make some items optional would not make it much bigger
or complicated.
As I said earlier, in your patch, it seems to me that all are optional except EOH. See the
following comment:

bq. Do you have real examples of RPC headers that would make this unmanageable using the approach
I presented in that patch?
Right now there are 3 key value pairs. Writing the code to ensure mandatory and optional for
just this three would expand the code further. Some requirements I have that are satisfied
nicely by protobuf is:
# Documenting header - Hadoop documentation has been poor and incomplete. The fact that any
one who wants to connect over RPC needs to consult the document, look at the implementation
is painful. Using things such as ordinal to capture key value, having to look at javacode
for protocol string (such AuthMethod.DIGEST etc.) also makes it hard.
# protobuf gives other capabilities that are also of interest, such as default values for
optional field, having capability not just sent only String in value but an object etc.

                
> Make  IPC  header be extensible
> -------------------------------
>
>                 Key: HADOOP-7557
>                 URL: https://issues.apache.org/jira/browse/HADOOP-7557
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Sanjay Radia
>            Assignee: Sanjay Radia
>         Attachments: HADOOP-7557.patch, IpcHeader.proto, ipcHeader1.patch, ipcHeader2.patch
>
>


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

        

Mime
View raw message