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

Daryn Sharp commented on HDFS-1751:
-----------------------------------

I believe this is a feature requested by our internal ops.  The limits default 
to off, so it shouldn't be an annoyance to ops because they would be the one 
that define it.

Please help me understand the more desirable implementation.  As posted, it 
does throw a quota exception.  However, the checks are not in the actual quota 
method itself because it's too deep.  Too many other calls funnel through that 
quota method with the quota flag enabled.  This would cause those non-directoy 
manipulating commands to fail if pre-existing paths exceed the limits.  By 
popping it up one level in the call stack, it's ensured that the checks will 
only apply to directory-level operations.

Would it be preferable that I derive the exceptions from 
NSQuotaExceededException instead of QuotaExceededException?

> Intrinsic limits for HDFS files, directories
> --------------------------------------------
>
>                 Key: HDFS-1751
>                 URL: https://issues.apache.org/jira/browse/HDFS-1751
>             Project: Hadoop HDFS
>          Issue Type: New Feature
>          Components: data-node
>    Affects Versions: 0.22.0
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>             Fix For: 0.23.0
>
>         Attachments: HDFS-1751-2.patch, HDFS-1751.patch
>
>
> Enforce a configurable limit on:
>   the length of a path component
>   the number of names in a directory
> The intention is to prevent a too-long name or a too-full directory. This is 
> not about RPC buffers, the length of command lines, etc. There may be good 
> reasons for those kinds of limits, but that is not the intended scope of this 
> feature. Consequently, a reasonable implementation might be to extend the 
> existing quota checker so that it faults the creation of a name that violates 
> the limits. This strategy of faulting new creation evades the problem of 
> existing names or directories that violate the limits.

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

Reply via email to