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 5EC5610E9D for ; Mon, 5 Jan 2015 21:37:34 +0000 (UTC) Received: (qmail 58789 invoked by uid 500); 5 Jan 2015 21:37:34 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 58733 invoked by uid 500); 5 Jan 2015 21:37:34 -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 58721 invoked by uid 99); 5 Jan 2015 21:37:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Jan 2015 21:37:34 +0000 Date: Mon, 5 Jan 2015 21:37:34 +0000 (UTC) From: "Daryn Sharp (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HDFS-7523) Setting a socket receive buffer size in DFSClient MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HDFS-7523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14265150#comment-14265150 ] Daryn Sharp commented on HDFS-7523: ----------------------------------- This patch isn't having any effect because changing the buffer size after connecting is a no-op. The receive buffer size at connect is used in the initial tcp window calculation that is advertised to the server. If you do set the receive buffer prior to connect, then you typically disable auto-tuning in your TCP stack which may actually be detrimental to performance. > Setting a socket receive buffer size in DFSClient > ------------------------------------------------- > > Key: HDFS-7523 > URL: https://issues.apache.org/jira/browse/HDFS-7523 > Project: Hadoop HDFS > Issue Type: Improvement > Components: dfsclient > Affects Versions: 2.6.0 > Reporter: Liang Xie > Assignee: Liang Xie > Attachments: HDFS-7523-001 (1).txt, HDFS-7523-001 (1).txt, HDFS-7523-001.txt, HDFS-7523-001.txt, HDFS-7523-001.txt > > > It would be nice if we have a socket receive buffer size while creating socket from client(HBase) view, in old version it should be in DFSInputStream, in trunk it seems should be at: > {code} > @Override // RemotePeerFactory > public Peer newConnectedPeer(InetSocketAddress addr, > Token blockToken, DatanodeID datanodeId) > throws IOException { > Peer peer = null; > boolean success = false; > Socket sock = null; > try { > sock = socketFactory.createSocket(); > NetUtils.connect(sock, addr, > getRandomLocalInterfaceAddr(), > dfsClientConf.socketTimeout); > peer = TcpPeerServer.peerFromSocketAndKey(saslClient, sock, this, > blockToken, datanodeId); > peer.setReadTimeout(dfsClientConf.socketTimeout); > {code} > e.g: sock.setReceiveBufferSize(HdfsConstants.DEFAULT_DATA_SOCKET_SIZE); > the default socket buffer size in Linux+JDK7 seems is 8k if i am not wrong, this value sometimes is small for HBase 64k block reading in a 10G network(at least, more system call) -- This message was sent by Atlassian JIRA (v6.3.4#6332)