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 A47ABDCA7 for ; Mon, 15 Oct 2012 14:48:03 +0000 (UTC) Received: (qmail 68312 invoked by uid 500); 15 Oct 2012 14:48:03 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 68270 invoked by uid 500); 15 Oct 2012 14:48:03 -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 68260 invoked by uid 99); 15 Oct 2012 14:48:03 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 15 Oct 2012 14:48:03 +0000 Date: Mon, 15 Oct 2012 14:48:03 +0000 (UTC) From: "Colin Patrick McCabe (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <207717918.45463.1350312483453.JavaMail.jiratomcat@arcas> In-Reply-To: <1820045025.44058.1350278342720.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (HDFS-4049) hflush performance regression due to nagling delays 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-4049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13476171#comment-13476171 ] Colin Patrick McCabe commented on HDFS-4049: -------------------------------------------- Looks good. It makes sense to use only one buffer for this. It looks like Java doesn't expose {{writev}} in this case, which is what we would need to write multiple buffers as one packet with {{TCP_NODELAY}}. (Although there is a multi-buffer write method in {{FileChannel}}, I didn't find one for {{DataOutputStream}}). {code} @@ -100,12 +102,17 @@ public void run() { } } catch (Throwable t) { thrown.compareAndSet(null, t); + } finally { + } } {code} Extra code? Does it make sense to add a test for the numDataNodes = 1, repl = 1 case? > hflush performance regression due to nagling delays > --------------------------------------------------- > > Key: HDFS-4049 > URL: https://issues.apache.org/jira/browse/HDFS-4049 > Project: Hadoop HDFS > Issue Type: Bug > Components: data-node, performance > Affects Versions: 3.0.0, 2.0.2-alpha > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Priority: Critical > Attachments: hdfs-4049.txt > > > HDFS-3721 reworked the way that packets are mirrored through the pipeline in the datanode. This caused two write() calls where there used to be one, which interacts badly with nagling so that there are 40ms bubbles on hflush() calls. We didn't notice this in the tests because the hflush perf test only uses a single datanode. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira