Return-Path: Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: (qmail 8092 invoked from network); 11 Nov 2010 01:16:10 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 11 Nov 2010 01:16:10 -0000 Received: (qmail 34297 invoked by uid 500); 11 Nov 2010 01:16:42 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 34217 invoked by uid 500); 11 Nov 2010 01:16:42 -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 34209 invoked by uid 99); 11 Nov 2010 01:16:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Nov 2010 01:16:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 11 Nov 2010 01:16:41 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id oAB1GLhI021819 for ; Thu, 11 Nov 2010 01:16:21 GMT Message-ID: <4913858.18861289438181025.JavaMail.jira@thor> Date: Wed, 10 Nov 2010 20:16:21 -0500 (EST) From: "Todd Lipcon (JIRA)" To: hdfs-issues@hadoop.apache.org Subject: [jira] Updated: (HDFS-895) Allow hflush/sync to occur in parallel with new writes to the file 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-895?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Todd Lipcon updated HDFS-895: ----------------------------- Attachment: 895-delta-for-review.txt Here's a delta that shows the patch for the NPE issue for easy review. I'll also upload a full patch against trunk momentarily but figured it would be easier to look at just the changed bits. Although I think either interpretation of hflush() could make sense, I decided to leave it as it currently is - flushing a stream that's been closed throws IOE. If we want to change this in the future we can do it in a different JIRA rather than conflating a semantic change with this optimization. > Allow hflush/sync to occur in parallel with new writes to the file > ------------------------------------------------------------------ > > Key: HDFS-895 > URL: https://issues.apache.org/jira/browse/HDFS-895 > Project: Hadoop HDFS > Issue Type: Improvement > Components: hdfs client > Affects Versions: 0.22.0 > Reporter: dhruba borthakur > Assignee: Todd Lipcon > Fix For: 0.22.0 > > Attachments: 895-delta-for-review.txt, hdfs-895-0.20-append.txt, hdfs-895-20.txt, hdfs-895-review.txt, hdfs-895-trunk.txt, hdfs-895.txt, hdfs-895.txt, hdfs-895.txt > > > In the current trunk, the HDFS client methods writeChunk() and hflush./sync are syncronized. This means that if a hflush/sync is in progress, an applicationn cannot write data to the HDFS client buffer. This reduces the write throughput of the transaction log in HBase. > The hflush/sync should allow new writes to happen to the HDFS client even when a hflush/sync is in progress. It can record the seqno of the message for which it should receice the ack, indicate to the DataStream thread to star flushing those messages, exit the synchronized section and just wai for that ack to arrive. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.