Uploaded image for project: 'Bigtop'
  1. Bigtop
  2. BIGTOP-3413

QFS doesn't work with Hadoop's TeraGen

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.5.0
    • qfs, tests
    • None

    Description

      3 QFS smoke tests out of 11 are failing on Jenkins.
      https://ci.bigtop.apache.org/job/Bigtop-trunk-smoke-tests/166/COMPONENTS=hdfs.yarn.qfs@qfs,OS=centos-7-x86_64-deploy/console

      org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples > testMRExample[teragen] FAILED
          java.lang.AssertionError: Example teragen /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar teragen 1000 teragen1600846854331 failed
              at org.junit.Assert.fail(Assert.java:88)
              at org.junit.Assert.assertTrue(Assert.java:41)
              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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:216)
              at org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples.testMRExample(TestHadoopExamples.groovy:167)
      
      org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples > testMRExample[terasort] FAILED
          java.lang.AssertionError: Example terasort /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar terasort teragen1600846854331 terasort1600846854331 failed
              at org.junit.Assert.fail(Assert.java:88)
              at org.junit.Assert.assertTrue(Assert.java:41)
              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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:216)
              at org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples.testMRExample(TestHadoopExamples.groovy:167)
      
      org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples > testMRExample[teravalidate] FAILED
          java.lang.AssertionError: Example teravalidate /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar teravalidate terasort1600846854331 tervalidate1600846854331 failed
              at org.junit.Assert.fail(Assert.java:88)
              at org.junit.Assert.assertTrue(Assert.java:41)
              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.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:104)
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:326)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrap.invoke(StaticMetaMethodSite.java:133)
              at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:102)
              at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:216)
              at org.apache.bigtop.itest.hadoop.mapreduce.TestHadoopExamples.testMRExample(TestHadoopExamples.groovy:167)
      
      Gradle Test Executor 2 finished executing tests.
      
      
      11 tests completed, 3 failed
      

      The terasort and teravalidate depend on teragen, so the root cause is teragen. I tried to install Hadoop and QFS built with Bigtop locally and run teragen manually, then I got FileAlreadyExistsException for the output directory, which didn't exist actually, for some reason.

      # hadoop-qfs fs -ls /user/yarn
      Found 5 items
      drwx------   - yarn yarn          0 2020-09-23 17:48 /user/yarn/.staging
      -rw-r--r--   1 yarn yarn        585 2020-09-23 17:45 /user/yarn/cachedir.jar
      -rw-r--r--   1 yarn yarn         39 2020-09-23 17:45 /user/yarn/input.txt
      -rw-r--r--   1 yarn yarn        805 2020-09-23 17:45 /user/yarn/map.sh
      -rw-r--r--   1 yarn yarn         50 2020-09-23 17:45 /user/yarn/part-00001.snappy
      # sudo -u yarn hadoop-qfs jar /usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar teragen 1 /user/yarn/output
      20/09/24 09:32:31 INFO client.RMProxy: Connecting to ResourceManager at sekikn-thinkcentre-m715q.flets-east.jp/127.0.1.1:8032
      org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory qfs://sekikn-thinkcentre-m715q.flets-east.jp:20000/user/yarn/output already exists
      	at org.apache.hadoop.examples.terasort.TeraOutputFormat.checkOutputSpecs(TeraOutputFormat.java:117)
      	at org.apache.hadoop.mapreduce.JobSubmitter.checkSpecs(JobSubmitter.java:279)
      	at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:145)
      	at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1570)
      	at org.apache.hadoop.mapreduce.Job$11.run(Job.java:1567)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at javax.security.auth.Subject.doAs(Subject.java:422)
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1893)
      	at org.apache.hadoop.mapreduce.Job.submit(Job.java:1567)
      	at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1588)
      	at org.apache.hadoop.examples.terasort.TeraGen.run(TeraGen.java:301)
      	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
      	at org.apache.hadoop.examples.terasort.TeraGen.main(TeraGen.java:305)
      	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.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:71)
      	at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144)
      	at org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:74)
      	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.apache.hadoop.util.RunJar.run(RunJar.java:244)
      	at org.apache.hadoop.util.RunJar.main(RunJar.java:158)
      # hadoop-qfs fs -ls /user/yarn
      Found 5 items
      drwx------   - yarn yarn          0 2020-09-23 17:48 /user/yarn/.staging
      -rw-r--r--   1 yarn yarn        585 2020-09-23 17:45 /user/yarn/cachedir.jar
      -rw-r--r--   1 yarn yarn         39 2020-09-23 17:45 /user/yarn/input.txt
      -rw-r--r--   1 yarn yarn        805 2020-09-23 17:45 /user/yarn/map.sh
      -rw-r--r--   1 yarn yarn         50 2020-09-23 17:45 /user/yarn/part-00001.snappy
      # 
      

      QFS leverages MapReduce smoke test, but the latter succeeds if executed without QFS. So there seems to be a problem on the QFS side.

      Attachments

        Activity

          People

            sekikn Kengo Seki
            sekikn Kengo Seki
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m