You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Arun C Murthy (JIRA)" <ji...@apache.org> on 2008/12/12 04:04:44 UTC

[jira] Created: (HADOOP-4853) Improvement to IPC

Improvement to IPC
------------------

                 Key: HADOOP-4853
                 URL: https://issues.apache.org/jira/browse/HADOOP-4853
             Project: Hadoop Core
          Issue Type: Improvement
          Components: ipc
    Affects Versions: 0.20.0
            Reporter: Arun C Murthy
            Assignee: Arun C Murthy


I'd like to propose an improvement for consideration given my experience of working on HADOOP-4348:

Currently the first call doubles up as a 'connection setup' trigger. I'd like to propose adding a new 'init' call which is always called by the clients for connection setup. The advantages are:
* We could fold in the getProtocolVersion call into the setup call, this ensures that the Server always checks for protocol versions, regardless of whether the (malicious?) client does an explicit call for getProtocolVersion or not.
* We could authorize the connection here.
* We could add to check to ensure that the Server instance actually implements the protocol used by the client to communicate, rather than fail on the first IPC call

The flip side being an extra round-trip.

Lets discuss.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4853) Improvement to IPC

Posted by "Raghu Angadi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656147#action_12656147 ] 

Raghu Angadi commented on HADOOP-4853:
--------------------------------------

In other words, yes, it is good idea to make protocol check a part of connection establishment.

> Improvement to IPC
> ------------------
>
>                 Key: HADOOP-4853
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4853
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 0.20.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>
> I'd like to propose an improvement for consideration given my experience of working on HADOOP-4348:
> Currently the first call doubles up as a 'connection setup' trigger. I'd like to propose adding a new 'init' call which is always called by the clients for connection setup. The advantages are:
> * We could fold in the getProtocolVersion call into the setup call, this ensures that the Server always checks for protocol versions, regardless of whether the (malicious?) client does an explicit call for getProtocolVersion or not.
> * We could authorize the connection here.
> * We could add to check to ensure that the Server instance actually implements the protocol used by the client to communicate, rather than fail on the first IPC call
> The flip side being an extra round-trip.
> Lets discuss.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4853) Improvement to IPC

Posted by "Raghu Angadi (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12656135#action_12656135 ] 

Raghu Angadi commented on HADOOP-4853:
--------------------------------------

Currently it is a bug that client does not check for protocol version each time it re connects (with a new TCP connection). This would fix it, if "init" procedure is run for every new connection.. not just when the proxy object is explicitly initialized. In that sense, an implicit init is at the time of first RPC call (or any RPC subsequent call) is that right thing to do and user should always be prepared for such an exception. 

> Improvement to IPC
> ------------------
>
>                 Key: HADOOP-4853
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4853
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 0.20.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>
> I'd like to propose an improvement for consideration given my experience of working on HADOOP-4348:
> Currently the first call doubles up as a 'connection setup' trigger. I'd like to propose adding a new 'init' call which is always called by the clients for connection setup. The advantages are:
> * We could fold in the getProtocolVersion call into the setup call, this ensures that the Server always checks for protocol versions, regardless of whether the (malicious?) client does an explicit call for getProtocolVersion or not.
> * We could authorize the connection here.
> * We could add to check to ensure that the Server instance actually implements the protocol used by the client to communicate, rather than fail on the first IPC call
> The flip side being an extra round-trip.
> Lets discuss.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-4853) Improvement to IPC

Posted by "Steve Loughran (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-4853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12655958#action_12655958 ] 

Steve Loughran commented on HADOOP-4853:
----------------------------------------

+1

Regarding the round trip, isn't there that feature of TCP whereby the server accepting the connection can include some data in the response; the first packet sent back after the connection is set up doesn't have to be empty. The server could include some version info and its part of the authentication process (a list of approved auth mechanisms and a seed value?). 

> Improvement to IPC
> ------------------
>
>                 Key: HADOOP-4853
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4853
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 0.20.0
>            Reporter: Arun C Murthy
>            Assignee: Arun C Murthy
>
> I'd like to propose an improvement for consideration given my experience of working on HADOOP-4348:
> Currently the first call doubles up as a 'connection setup' trigger. I'd like to propose adding a new 'init' call which is always called by the clients for connection setup. The advantages are:
> * We could fold in the getProtocolVersion call into the setup call, this ensures that the Server always checks for protocol versions, regardless of whether the (malicious?) client does an explicit call for getProtocolVersion or not.
> * We could authorize the connection here.
> * We could add to check to ensure that the Server instance actually implements the protocol used by the client to communicate, rather than fail on the first IPC call
> The flip side being an extra round-trip.
> Lets discuss.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.