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

Intermittent failure of ITestS3NContractRootDir#testRecursiveRootListing: "Can not create a Path from an empty string"

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.8.0, 3.0.0-alpha2
    • Component/s: fs/s3, test
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Surfaced in HADOOP-13518: Intermittent test failure of ITestS3NContractRootDir.testRecursiveRootListing and ITestS3NContractRootDir.testRmEmptyRootDirNonRecursive, error text "Can not create a Path from an empty string".

      Looks like theres some confusion creating paths to subdirectories; I'd like to know what's happening before blindly skipping the situation of "empty subdirectory path"

        Issue Links

          Activity

          Hide
          stevel@apache.org Steve Loughran added a comment -
          testRecursiveRootListing(org.apache.hadoop.fs.contract.s3n.ITestS3NContractRootDir)  Time elapsed: 2.975 sec  <<< ERROR! java.lang.IllegalArgumentException: Can not create a Path from an empty string
          	at org.apache.hadoop.fs.Path.checkPathArg(Path.java:163)
          	at org.apache.hadoop.fs.Path.<init>(Path.java:175)
          	at org.apache.hadoop.fs.Path.<init>(Path.java:120)
          	at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:577)
          	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1602)
          	at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1645)
          	at org.apache.hadoop.fs.FileSystem$4.<init>(FileSystem.java:1808)
          	at org.apache.hadoop.fs.FileSystem.listLocatedStatus(FileSystem.java:1807)
          	at org.apache.hadoop.fs.FileSystem.listLocatedStatus(FileSystem.java:1790)
          	at org.apache.hadoop.fs.FileSystem$5.<init>(FileSystem.java:1916)
          	at org.apache.hadoop.fs.FileSystem.listFiles(FileSystem.java:1912)
          	at org.apache.hadoop.fs.contract.AbstractContractRootDirectoryTest.testRecursiveRootListing(AbstractContractRootDirectoryTest.java:219)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:498)
          	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
          	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
          	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
          	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
          	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
          	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
          	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
          	at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
          testRmEmptyRootDirNonRecursive(org.apache.hadoop.fs.contract.s3n.ITestS3NContractRootDir)  Time elapsed: 2.296 sec  <<< ERROR! java.lang.IllegalArgumentException: Can not create a Path from an empty string
          	at org.apache.hadoop.fs.Path.checkPathArg(Path.java:163)
          	at org.apache.hadoop.fs.Path.<init>(Path.java:175)
          	at org.apache.hadoop.fs.Path.<init>(Path.java:120)
          	at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:577)
          	at org.apache.hadoop.fs.contract.ContractTestUtils.listChildren(ContractTestUtils.java:427)
          	at org.apache.hadoop.fs.contract.AbstractContractRootDirectoryTest.testRmEmptyRootDirNonRecursive(AbstractContractRootDirectoryTest.java:94)
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          	at java.lang.reflect.Method.invoke(Method.java:498)
          	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
          	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
          	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
          	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
          	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
          	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
          	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
          	at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
          
          Show
          stevel@apache.org Steve Loughran added a comment - testRecursiveRootListing(org.apache.hadoop.fs.contract.s3n.ITestS3NContractRootDir) Time elapsed: 2.975 sec <<< ERROR! java.lang.IllegalArgumentException: Can not create a Path from an empty string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:163) at org.apache.hadoop.fs.Path.<init>(Path.java:175) at org.apache.hadoop.fs.Path.<init>(Path.java:120) at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:577) at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1602) at org.apache.hadoop.fs.FileSystem.listStatus(FileSystem.java:1645) at org.apache.hadoop.fs.FileSystem$4.<init>(FileSystem.java:1808) at org.apache.hadoop.fs.FileSystem.listLocatedStatus(FileSystem.java:1807) at org.apache.hadoop.fs.FileSystem.listLocatedStatus(FileSystem.java:1790) at org.apache.hadoop.fs.FileSystem$5.<init>(FileSystem.java:1916) at org.apache.hadoop.fs.FileSystem.listFiles(FileSystem.java:1912) at org.apache.hadoop.fs.contract.AbstractContractRootDirectoryTest.testRecursiveRootListing(AbstractContractRootDirectoryTest.java:219) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) testRmEmptyRootDirNonRecursive(org.apache.hadoop.fs.contract.s3n.ITestS3NContractRootDir) Time elapsed: 2.296 sec <<< ERROR! java.lang.IllegalArgumentException: Can not create a Path from an empty string at org.apache.hadoop.fs.Path.checkPathArg(Path.java:163) at org.apache.hadoop.fs.Path.<init>(Path.java:175) at org.apache.hadoop.fs.Path.<init>(Path.java:120) at org.apache.hadoop.fs.s3native.NativeS3FileSystem.listStatus(NativeS3FileSystem.java:577) at org.apache.hadoop.fs.contract.ContractTestUtils.listChildren(ContractTestUtils.java:427) at org.apache.hadoop.fs.contract.AbstractContractRootDirectoryTest.testRmEmptyRootDirNonRecursive(AbstractContractRootDirectoryTest.java:94) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74)
          Hide
          stevel@apache.org Steve Loughran added a comment -

          Patch 001. This does just skip the situation where the common prefix is the current directory, thus the relative path ''.

          Show
          stevel@apache.org Steve Loughran added a comment - Patch 001. This does just skip the situation where the common prefix is the current directory, thus the relative path ''.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          testing: s3 ireland

          Show
          stevel@apache.org Steve Loughran added a comment - testing: s3 ireland
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 16s Docker mode activated.
          +1 @author 0m 0s The patch does not contain any @author tags.
          -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
          +1 mvninstall 7m 48s branch-2 passed
          +1 compile 0m 16s branch-2 passed with JDK v1.8.0_111
          +1 compile 0m 19s branch-2 passed with JDK v1.7.0_111
          +1 checkstyle 0m 15s branch-2 passed
          +1 mvnsite 0m 24s branch-2 passed
          +1 mvneclipse 0m 36s branch-2 passed
          +1 findbugs 0m 36s branch-2 passed
          +1 javadoc 0m 13s branch-2 passed with JDK v1.8.0_111
          +1 javadoc 0m 16s branch-2 passed with JDK v1.7.0_111
          +1 mvninstall 0m 18s the patch passed
          +1 compile 0m 14s the patch passed with JDK v1.8.0_111
          +1 javac 0m 14s the patch passed
          +1 compile 0m 16s the patch passed with JDK v1.7.0_111
          +1 javac 0m 16s the patch passed
          +1 checkstyle 0m 12s the patch passed
          +1 mvnsite 0m 21s the patch passed
          +1 mvneclipse 0m 12s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 0m 44s the patch passed
          +1 javadoc 0m 10s the patch passed with JDK v1.8.0_111
          +1 javadoc 0m 13s the patch passed with JDK v1.7.0_111
          +1 unit 0m 20s hadoop-aws in the patch passed with JDK v1.7.0_111.
          +1 asflicense 0m 16s The patch does not generate ASF License warnings.
          16m 11s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:b59b8b7
          JIRA Issue HADOOP-13830
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12840270/HADOOP-13830-branch-2-001.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux db369177d534 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision branch-2 / 2d94f93
          Default Java 1.7.0_111
          Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_111 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_111
          findbugs v3.0.0
          JDK v1.7.0_111 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/11123/testReport/
          modules C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11123/console
          Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org

          This message was automatically generated.

          Show
          hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 16s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 7m 48s branch-2 passed +1 compile 0m 16s branch-2 passed with JDK v1.8.0_111 +1 compile 0m 19s branch-2 passed with JDK v1.7.0_111 +1 checkstyle 0m 15s branch-2 passed +1 mvnsite 0m 24s branch-2 passed +1 mvneclipse 0m 36s branch-2 passed +1 findbugs 0m 36s branch-2 passed +1 javadoc 0m 13s branch-2 passed with JDK v1.8.0_111 +1 javadoc 0m 16s branch-2 passed with JDK v1.7.0_111 +1 mvninstall 0m 18s the patch passed +1 compile 0m 14s the patch passed with JDK v1.8.0_111 +1 javac 0m 14s the patch passed +1 compile 0m 16s the patch passed with JDK v1.7.0_111 +1 javac 0m 16s the patch passed +1 checkstyle 0m 12s the patch passed +1 mvnsite 0m 21s the patch passed +1 mvneclipse 0m 12s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 0m 44s the patch passed +1 javadoc 0m 10s the patch passed with JDK v1.8.0_111 +1 javadoc 0m 13s the patch passed with JDK v1.7.0_111 +1 unit 0m 20s hadoop-aws in the patch passed with JDK v1.7.0_111. +1 asflicense 0m 16s The patch does not generate ASF License warnings. 16m 11s Subsystem Report/Notes Docker Image:yetus/hadoop:b59b8b7 JIRA Issue HADOOP-13830 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12840270/HADOOP-13830-branch-2-001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux db369177d534 3.13.0-36-lowlatency #63-Ubuntu SMP PREEMPT Wed Sep 3 21:56:12 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision branch-2 / 2d94f93 Default Java 1.7.0_111 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_111 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_111 findbugs v3.0.0 JDK v1.7.0_111 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/11123/testReport/ modules C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11123/console Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          liuml07 Mingliang Liu added a comment -

          +1 We should just ignore the directory we have been asked to list.

          Committed to trunk through branch-2.8 branches. Thanks for your contribution, Steve Loughran.

          Show
          liuml07 Mingliang Liu added a comment - +1 We should just ignore the directory we have been asked to list. Committed to trunk through branch-2.8 branches. Thanks for your contribution, Steve Loughran .
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10919 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10919/)
          HADOOP-13830. Intermittent failure of (liuml07: rev 3fd844b99fdfae6be6e5e261f371d175aad14229)

          • (edit) hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10919 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10919/ ) HADOOP-13830 . Intermittent failure of (liuml07: rev 3fd844b99fdfae6be6e5e261f371d175aad14229) (edit) hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3native/NativeS3FileSystem.java

            People

            • Assignee:
              stevel@apache.org Steve Loughran
              Reporter:
              stevel@apache.org Steve Loughran
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development