hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jim Plush (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-1026) Quota checks fail for small files and quotas
Date Sat, 25 Jun 2011 19:41:47 GMT

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

Jim Plush commented on HDFS-1026:
---------------------------------

Were you thinking adding JavaDoc comments and updating the verifyQuota method in FSDirectoy.java?
If not if you want to give a helpful pointer I'll be happy to make the fix.

> Quota checks fail for small files and quotas
> --------------------------------------------
>
>                 Key: HDFS-1026
>                 URL: https://issues.apache.org/jira/browse/HDFS-1026
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: documentation, name-node
>    Affects Versions: 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.22.0
>            Reporter: Eli Collins
>            Priority: Blocker
>
> If a directory has a quota less than blockSize * numReplicas then you can't add a file
to it, even if the file size is less than the quota. This is because FSDirectory#addBlock
updates the count assuming at least one block is written in full. We don't know how much of
the block will be written when addBlock is called and supporting such small quotas is not
important so perhaps we should document this and log an error message instead of making small
(blockSize * numReplicas) quotas work.
> {code}
> // check quota limits and updated space consumed
> updateCount(inodes, inodes.length-1, 0, fileINode.getPreferredBlockSize()*fileINode.getReplication(),
true);
> {code}
> You can reproduce with the following commands:
> {code}
> $ dd if=/dev/zero of=temp bs=1000 count=64
> $ hadoop fs -mkdir /user/eli/dir
> $ hdfs dfsadmin -setSpaceQuota 191M /user/eli/dir
> $ hadoop fs -put temp /user/eli/dir  # Causes DSQuotaExceededException
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message