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

TestFSMainOperationsLocalFileSystem failed when the Hadoop test root path has "X" in its name

    XMLWordPrintableJSON

Details

    • Test
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 1-win, 2.1.0-beta, 1.3.0, 3.0.0-alpha1
    • 1-win, 2.1.0-beta, 1.3.0
    • test
    • Windows

    Description

      TestFSMainOperationsLocalFileSystem extends Class FSMainOperationsBaseTest. PathFilter FSMainOperationsBaseTest#TEST_X_FILTER checks if a path has "x" and "X" in its name.

      final private static PathFilter TEST_X_FILTER = new PathFilter() {
        public boolean accept(Path file) {
          if(file.getName().contains("x") || file.toString().contains("X"))
            return true;
          else
            return false;
      

      Some of the test cases construct a path by combining path "TEST_ROOT_DIR" with a customized partial path.
      The problem is that "TEST_ROOT_DIR" may also has "X" in its name. The path check will pass even if the customized partial path doesn't have "X". However, for this case the path filter is supposed to reject this path.

      An easy fix is to change "file.toString().contains("X")" to "file.getName().contains("X")". Note that org.apache.hadoop.fs.Path.getName() only returns the final component of this path.

      Attachments

        1. HADOOP-9624.trunk.patch
          2 kB
          Douma Fang
        2. HADOOP-9624.patch
          0.8 kB
          Douma Fang
        3. HADOOP-9624.branch-1.patch
          0.8 kB
          Douma Fang
        4. HADOOP-9624.branch-1.2.patch
          0.8 kB
          Chris Nauroth

        Issue Links

          Activity

            People

              xifang Douma Fang
              xifang Douma Fang
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: