Return-Path: X-Original-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D97AA6BE0 for ; Fri, 20 May 2011 22:07:30 +0000 (UTC) Received: (qmail 30398 invoked by uid 500); 20 May 2011 22:07:30 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 30360 invoked by uid 500); 20 May 2011 22:07:30 -0000 Mailing-List: contact hdfs-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-issues@hadoop.apache.org Delivered-To: mailing list hdfs-issues@hadoop.apache.org Received: (qmail 30352 invoked by uid 99); 20 May 2011 22:07:30 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 May 2011 22:07:30 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 20 May 2011 22:07:28 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 8EF60D4C67 for ; Fri, 20 May 2011 22:06:47 +0000 (UTC) Date: Fri, 20 May 2011 22:06:47 +0000 (UTC) From: "Tsz Wo (Nicholas), SZE (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <1537351270.32083.1305929207582.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1988126591.28583.1305843347455.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HDFS-1965) IPCs done using block token-based tickets can't reuse connections MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ 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. {code} + /** Public only for tests */ + public static ClientDatanodeProtocol createClientDatanodeProtocolProxy( {code} - 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