hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Konstantin Shvachko (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-6325) Append should fail if the last block has insufficient number of replicas
Date Fri, 16 May 2014 11:22:19 GMT

    [ https://issues.apache.org/jira/browse/HDFS-6325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13998517#comment-13998517
] 

Konstantin Shvachko commented on HDFS-6325:
-------------------------------------------

This looks good. Just two final touches:
- In appendFileInternal() you can actually combine nested if statements into one with three
conditions.
- In testAppendInsufficientLocations() you should use {{LOG.info("message", e);}} instead
of {{+ e.getMessage()}}

The patch cleanly applies to branch-2 and branch-2.4. 
It would be nice to have it in 2.4.1. If there are no there objections?

> Append should fail if the last block has insufficient 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
>            Assignee: Keith Pak
>         Attachments: HDFS-6325.patch, HDFS-6325.patch, HDFS-6325.patch, HDFS-6325_test.patch,
appendTest.patch
>
>
> 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)

Mime
View raw message