You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2010/03/22 01:13:27 UTC

[jira] Created: (HDFS-1057) BlockReceiver records block length in replicaInfo before flushing

BlockReceiver records block length in replicaInfo before flushing
-----------------------------------------------------------------

                 Key: HDFS-1057
                 URL: https://issues.apache.org/jira/browse/HDFS-1057
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: data-node
    Affects Versions: 0.21.0, 0.22.0
            Reporter: Todd Lipcon
            Priority: Critical


In BlockReceiver.receivePacket, it calls replicaInfo.setBytesOnDisk before calling flush(). Therefore, if there is a concurrent reader, it's possible to race here - the reader will see the new length while those bytes are still in the buffers of BlockReceiver. Thus the client will potentially see checksum errors or EOFs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.