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 "Konstantin Shvachko (JIRA)" <ji...@apache.org> on 2014/05/02 22:40:15 UTC

[jira] [Created] (HDFS-6325) Append should fail if the last block has unsufficient number of replicas

Konstantin Shvachko created HDFS-6325:
-----------------------------------------

             Summary: Append should fail if the last block has unsufficient number of replicas
                 Key: HDFS-6325
                 URL: https://issues.apache.org/jira/browse/HDFS-6325
             Project: Hadoop HDFS
          Issue Type: Bug
          Components: namenode
    Affects Versions: 2.2.0
            Reporter: Konstantin Shvachko
             Fix For: 2.5.0


Currently append() succeeds on a file with the last block that has no replicas. But the subsequent updatePipeline() fails as there are no replicas with the exception "Unable to retrieve blocks locations for last block". This leaves the file unclosed, and others can not do anything with it until its lease expires.
The solution is to check replicas of the last block on the NameNode and fail during append() rather than during updatePipeline().
How many replicas should be present before NN allows to append? I see two options:
# min-replication: allow append if the last block is minimally replicated (1 by default)
# full-replication: allow append if the last block is fully replicated (3 by default)



--
This message was sent by Atlassian JIRA
(v6.2#6252)