hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo (Nicholas), SZE (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1965) IPCs done using block token-based tickets can't reuse connections
Date Fri, 20 May 2011 22:06:47 GMT

    [ https://issues.apache.org/jira/browse/HDFS-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13037113#comment-13037113

Tsz Wo (Nicholas), SZE commented on HDFS-1965:

Okay, you mean this is a temporary fix.  Sounds good.  Some comments on the patch:

- Instead of changing it to public, we could create add a utility method, say in {{DFSTestUtil}},
for invoking the package private method.
+  /** Public only for tests */
+  public static ClientDatanodeProtocol createClientDatanodeProtocolProxy(

- How about putting {{confWithNoIpcIdle}} as a member field?

- Please use {{CommonConfigurationKeysPublic.IPC_CLIENT_CONNECTION_MAXIDLETIME_KEY}} for "ipc.client.connection.maxidletime".

- Please add a comment saying that this is a temporary fix and the corresponding codes should
be removed once {{stopProxy(..)}} is fixed.

> IPCs done using block token-based tickets can't reuse connections
> -----------------------------------------------------------------
>                 Key: HDFS-1965
>                 URL: https://issues.apache.org/jira/browse/HDFS-1965
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: security
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>            Priority: Critical
>             Fix For: 0.22.0
>         Attachments: hdfs-1965.txt, hdfs-1965.txt
> This is the reason that TestFileConcurrentReaders has been failing a lot. Reproducing
a comment from HDFS-1057:
> The test has a thread which continually re-opens the file which is being written to.
Since the file's in the middle of being written, it makes an RPC to the DataNode in order
to determine the visible length of the file. This RPC is authenticated using the block token
which came back in the LocatedBlocks object as the security ticket.
> When this RPC hits the IPC layer, it looks at its existing connections and sees none
that can be re-used, since the block token differs between the two requesters. Hence, it reconnects,
and we end up with hundreds or thousands of IPC connections to the datanode.

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message