Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-3440

TaskRunner creates a symlink with name 'null' if a file is added to DistributedCache without fragment

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 0.18.0
    • None
    • None
    • Reviewed

    Description

      When adding a file to DistributedCache by either :

      1. DistributedCache.addCacheArchive(URI, conf) with URI not defining fragment(e.g. not as new URI("path#fragment") )
      2. DistributedCache.addCacheFile(URI, conf) with URI not defining fragment(e.g. not as new URI("path#fragment") )
      3. DistributedCache.addArchiveToClassPath(Path, conf)

      and one sets DistributedCache.createSymlink, TaskRunner creates a link with name 'null' in the working directory.

      I think the behavior should be that if fragment is null then no sym link should be created, adding in localizeCache() of DistributedCache the following

           boolean doSymlink = getSymlink(conf);
      +    if(cache.getFragment() == null) {
      +      doSymlink = false;
      +    }
      FileSystem fs = getFileSystem(cache, conf);
      

      Attachments

        1. DistributedCache.java.patch
          0.7 kB
          Abhijit Bagri

        Activity

          People

            ddas Devaraj Das
            abagri Abhijit Bagri
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: