Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.8.0
    • Fix Version/s: 2.8.0, 3.0.0-alpha2
    • Component/s: fs/s3
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      ITestS3AMiniYarnCluster is failing with an ArrayIndexOutOfBoundsException splitting up the output of the wordcount app. It's not getting word\t\count lines back.

      • git bisect points at commit 67e01f7; HADOOP-13614. Purge some superfluous/obsolete S3 FS tests that are slowing test runs down
      • problem exists when running standalone as well as in mvn parallel tests; this implies it's not parallelisation

        Issue Links

          Activity

          Hide
          liuml07 Mingliang Liu added a comment - - edited

          ContractTestUtils#readBytesToString() calls the toChar() for each char of the read buffer, which escapes chars like tabs and lines using String.format("%02x", b);. Unfortunately the ITestS3AMiniYarnCluster#getResultAsMap relies on the newline and tab chars for splitting tokens, which will only see 09 for tab, 0a for newline in the escaped string. Actually we don't need to escape; so a simply new String(buf) will work just fine.

          I resolved the issue; I also fixed the affected version, and fixed version.

          Show
          liuml07 Mingliang Liu added a comment - - edited ContractTestUtils#readBytesToString() calls the toChar() for each char of the read buffer, which escapes chars like tabs and lines using String.format("%02x", b); . Unfortunately the ITestS3AMiniYarnCluster#getResultAsMap relies on the newline and tab chars for splitting tokens, which will only see 09 for tab, 0a for newline in the escaped string. Actually we don't need to escape; so a simply new String(buf) will work just fine. I resolved the issue; I also fixed the affected version, and fixed version.
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10881 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10881/)
          HADOOP-13801 regression: ITestS3AMiniYarnCluster failing. Contributed by (stevel: rev 0de0c32ddd46eaf42198dbf24ec4344f6810ca09)

          • (edit) hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/yarn/ITestS3AMiniYarnCluster.java
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #10881 (See https://builds.apache.org/job/Hadoop-trunk-Commit/10881/ ) HADOOP-13801 regression: ITestS3AMiniYarnCluster failing. Contributed by (stevel: rev 0de0c32ddd46eaf42198dbf24ec4344f6810ca09) (edit) hadoop-tools/hadoop-aws/src/test/java/org/apache/hadoop/fs/s3a/yarn/ITestS3AMiniYarnCluster.java
          Hide
          stevel@apache.org Steve Loughran added a comment -

          I'm not sure what I did, but I broke things and checked in the break. I'll apply this to 2.,8+. thanks

          Show
          stevel@apache.org Steve Loughran added a comment - I'm not sure what I did, but I broke things and checked in the break. I'll apply this to 2.,8+. thanks
          Hide
          liuml07 Mingliang Liu added a comment - - edited

          +1 pending on Jenkins we have Jenkins now.

          I see what's going on here. We escaped the split chars like tabs and lines in toChar() unexpectedly.

          This goes into branch-2.8, branch-2 and trunk right?

          Show
          liuml07 Mingliang Liu added a comment - - edited +1 pending on Jenkins we have Jenkins now. I see what's going on here. We escaped the split chars like tabs and lines in toChar() unexpectedly. This goes into branch-2.8 , branch-2 and trunk right?
          Hide
          hadoopqa Hadoop QA added a comment -
          +1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 15s Docker mode activated.
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 1 new or modified test files.
          +1 mvninstall 6m 27s 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 14s branch-2 passed
          +1 mvnsite 0m 23s branch-2 passed
          +1 mvneclipse 0m 14s branch-2 passed
          +1 findbugs 0m 36s branch-2 passed
          +1 javadoc 0m 12s branch-2 passed with JDK v1.8.0_111
          +1 javadoc 0m 15s branch-2 passed with JDK v1.7.0_111
          +1 mvninstall 0m 17s 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 22s the patch passed
          +1 mvneclipse 0m 12s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 0m 43s 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 21s hadoop-aws in the patch passed with JDK v1.7.0_111.
          +1 asflicense 0m 16s The patch does not generate ASF License warnings.
          14m 28s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:b59b8b7
          JIRA Issue HADOOP-13801
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12840300/HADOOP-13801-branch-2-001.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 8e469c8d8e29 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 / 2d068f1
          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/11124/testReport/
          modules C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11124/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 15s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 1 new or modified test files. +1 mvninstall 6m 27s 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 14s branch-2 passed +1 mvnsite 0m 23s branch-2 passed +1 mvneclipse 0m 14s branch-2 passed +1 findbugs 0m 36s branch-2 passed +1 javadoc 0m 12s branch-2 passed with JDK v1.8.0_111 +1 javadoc 0m 15s branch-2 passed with JDK v1.7.0_111 +1 mvninstall 0m 17s 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 22s the patch passed +1 mvneclipse 0m 12s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 0m 43s 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 21s hadoop-aws in the patch passed with JDK v1.7.0_111. +1 asflicense 0m 16s The patch does not generate ASF License warnings. 14m 28s Subsystem Report/Notes Docker Image:yetus/hadoop:b59b8b7 JIRA Issue HADOOP-13801 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12840300/HADOOP-13801-branch-2-001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 8e469c8d8e29 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 / 2d068f1 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/11124/testReport/ modules C: hadoop-tools/hadoop-aws U: hadoop-tools/hadoop-aws Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11124/console Powered by Apache Yetus 0.4.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          tested: s3a ireland

          Show
          stevel@apache.org Steve Loughran added a comment - tested: s3a ireland
          Hide
          stevel@apache.org Steve Loughran added a comment -

          fix the regression; I'd broken how lines were read, so the asserts.

          Show
          stevel@apache.org Steve Loughran added a comment - fix the regression; I'd broken how lines were read, so the asserts.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          This looks suspiciously to me like the test is getting back the byte array from a serialized writeable stream, but expecting results split by lines and tabs, so the tokenizer is failing. No obvious changes in the wordcount example or the test though

          Show
          stevel@apache.org Steve Loughran added a comment - This looks suspiciously to me like the test is getting back the byte array from a serialized writeable stream, but expecting results split by lines and tabs, so the tokenizer is failing. No obvious changes in the wordcount example or the test though
          Hide
          stevel@apache.org Steve Loughran added a comment -

          and with more detail

          testWithMiniCluster(org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster)  Time elapsed: 15.9 sec  <<< FAILURE!
          java.lang.AssertionError: Not enough tokens in in string "first0910aline0930asecond0910athird0910a" from output "first0910aline0930asecond0910athird0910a"
          	at org.junit.Assert.fail(Assert.java:88)
          	at org.junit.Assert.assertTrue(Assert.java:41)
          	at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.getResultAsMap(ITestS3AMiniYarnCluster.java:120)
          	at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.testWithMiniCluster(ITestS3AMiniYarnCluster.java:103)
          

          The test expects multiple lines coming back. It isn't getting them

          Show
          stevel@apache.org Steve Loughran added a comment - and with more detail testWithMiniCluster(org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster) Time elapsed: 15.9 sec <<< FAILURE! java.lang.AssertionError: Not enough tokens in in string "first0910aline0930asecond0910athird0910a" from output "first0910aline0930asecond0910athird0910a" at org.junit.Assert.fail(Assert.java:88) at org.junit.Assert.assertTrue(Assert.java:41) at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.getResultAsMap(ITestS3AMiniYarnCluster.java:120) at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.testWithMiniCluster(ITestS3AMiniYarnCluster.java:103) The test expects multiple lines coming back. It isn't getting them
          Hide
          stevel@apache.org Steve Loughran added a comment -
          Running org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster
          Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 14.796 sec <<< FAILURE! - in org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster
          testWithMiniCluster(org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster)  Time elapsed: 14.594 sec  <<< ERROR!
          java.lang.ArrayIndexOutOfBoundsException: 1
          	at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.getResultAsMap(ITestS3AMiniYarnCluster.java:120)
          	at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.testWithMiniCluster(ITestS3AMiniYarnCluster.java:103)
          
          
          Show
          stevel@apache.org Steve Loughran added a comment - Running org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 14.796 sec <<< FAILURE! - in org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster testWithMiniCluster(org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster) Time elapsed: 14.594 sec <<< ERROR! java.lang.ArrayIndexOutOfBoundsException: 1 at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.getResultAsMap(ITestS3AMiniYarnCluster.java:120) at org.apache.hadoop.fs.s3a.yarn.ITestS3AMiniYarnCluster.testWithMiniCluster(ITestS3AMiniYarnCluster.java:103)

            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