omkar vinit joshi created YARN-467:
--------------------------------------

             Summary: Jobs fail during resource localization when directories 
in file cache reaches to unix directory limit for public cache
                 Key: YARN-467
                 URL: https://issues.apache.org/jira/browse/YARN-467
             Project: Hadoop YARN
          Issue Type: Bug
          Components: nodemanager
    Affects Versions: 2.0.0-alpha, 3.0.0
            Reporter: omkar vinit joshi
            Assignee: omkar vinit joshi


If we have multiple jobs which uses distributed cache with small size of files, 
the directory limit reaches before reaching the cache size and fails to create 
any directories in file cache (PUBLIC). The jobs start failing with the below 
exception.

java.io.IOException: mkdir of /tmp/nm-local-dir/filecache/3901886847734194975 
failed
        at org.apache.hadoop.fs.FileSystem.primitiveMkdir(FileSystem.java:909)
        at 
org.apache.hadoop.fs.DelegateToFileSystem.mkdir(DelegateToFileSystem.java:143)
        at org.apache.hadoop.fs.FilterFs.mkdir(FilterFs.java:189)
        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:706)
        at org.apache.hadoop.fs.FileContext$4.next(FileContext.java:703)
        at 
org.apache.hadoop.fs.FileContext$FSLinkResolver.resolve(FileContext.java:2325)
        at org.apache.hadoop.fs.FileContext.mkdir(FileContext.java:703)
        at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:147)
        at org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:49)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

we need to have a mechanism where in we can create directory hierarchy and 
limit number of files per directory.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to