[ 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