Return-Path: Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: (qmail 60400 invoked from network); 7 Oct 2009 19:01:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 7 Oct 2009 19:01:56 -0000 Received: (qmail 58978 invoked by uid 500); 7 Oct 2009 19:01:56 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 58946 invoked by uid 500); 7 Oct 2009 19:01:56 -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 58936 invoked by uid 99); 7 Oct 2009 19:01:56 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2009 19:01:56 +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.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Oct 2009 19:01:53 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 57133234C1EC for ; Wed, 7 Oct 2009 12:01:32 -0700 (PDT) Message-ID: <365132193.1254942092345.JavaMail.jira@brutus> Date: Wed, 7 Oct 2009 12:01:32 -0700 (PDT) From: "Hairong Kuang (JIRA)" To: hdfs-issues@hadoop.apache.org Subject: [jira] Commented: (HDFS-679) Block receiver unexpectedly throws an IOException complaining mismatched checksum In-Reply-To: <960149890.1254872551520.JavaMail.jira@brutus> 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-679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12763192#action_12763192 ] Hairong Kuang commented on HDFS-679: ------------------------------------ I'd like to propose a solution to the appending to a partial checksum chunk problem. The client reads in the partial chunk into its buffer before any write and they will be part of the packets sent to the datanode side before the chunk gets filled up. This solution maintains a good property: any packet sent to datanodes starts at a checksum chunk boundary. This would not increase complexity at the client side but would completely eliminate the handling of appending to partial chunk at the datanode side. Another optimization to a block receiver at the datanode is not to overwrite block file if a packet starts with data that the replica file already has. For the crc file, only the last 4 bytes are allowed to be overwritten. > Block receiver unexpectedly throws an IOException complaining mismatched checksum > --------------------------------------------------------------------------------- > > Key: HDFS-679 > URL: https://issues.apache.org/jira/browse/HDFS-679 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 0.21.0 > Reporter: Hairong Kuang > Assignee: Hairong Kuang > Fix For: 0.21.0 > > > When I run TestClientProtocolForPipelineRecovery, I always see that the block receiver throws IOException complaining about mismatched checksum when receiving the last data packet. It turns out the checksum of last packet was unexpectedly set to be zero. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.