You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Xiu Guo <xg...@gmail.com> on 2013/09/28 01:20:31 UTC

Error while running junit test for hive in eclipse

I compiled Hive trunk source code using:

    ant clean package eclipse-files

and run a junit test on command line just fine:

    ant test -Dtestcase=TestCliDriver -Dqfile=auto_join25.q -Dmodule=ql
-Dtest.silent=false

However, when imported into eclipse and run the same test, it throws
following error:



    13/09/26 13:44:41 INFO mr.ExecDriver: Executing:
/home/xiu/git/hiveTrunk/testutils/hadoop jar
/home/xiu/git/hiveTrunk/build/ql/hive-exec-0.13.0-SNAPSHOT.jar
org.apache.hadoop.hive.ql.exec.mr.ExecDriver  -plan
file:/home/xiu/git/hiveTrunk/build/ql/localscratchdir/hive_2013-09-26_13-44-40_635_1327282357933361987-1/-local-10004/plan.xml
-jobconffile
file:/home/xiu/git/hiveTrunk/build/ql/localscratchdir/hive_2013-09-26_13-44-40_635_1327282357933361987-1/-local-10003/jobconf.xml
    which: no /home/xiu/git/hiveTrunk/testutils/hadoop in ((null))
    dirname: missing operand
    Try `dirname --help' for more information.
    Exception in thread "main" java.lang.NoClassDefFoundError:
org.apache.hadoop.hive.metastore.api.AlreadyExistsException
        at java.lang.J9VMInternals.verifyImpl(Native Method)
        at java.lang.J9VMInternals.verify(J9VMInternals.java:72)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)
        at
org.apache.hadoop.hive.ql.plan.PartitionDesc.getDeserializer(PartitionDesc.java:112)
        at
org.apache.hadoop.hive.ql.io.CombineHiveInputFormat.getSplits(CombineHiveInputFormat.java:310)
        at
org.apache.hadoop.mapred.JobClient.writeOldSplits(JobClient.java:1051)
        at
org.apache.hadoop.mapred.JobClient.writeSplits(JobClient.java:1043)
        at org.apache.hadoop.mapred.JobClient.access$700(JobClient.java:179)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:959)
        at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:912)
        at
java.security.AccessController.doPrivileged(AccessController.java:362)
        at javax.security.auth.Subject.doAs(Subject.java:573)
        at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
        at
org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:912)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:886)
        at
org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:425)
        at
org.apache.hadoop.hive.ql.exec.mr.ExecDriver.main(ExecDriver.java:725)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
    Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.hive.metastore.api.AlreadyExistsException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:434)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:672)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:638)
    ... 22 more
    13/09/26 13:44:43 ERROR exec.Task: Execution failed with exit status: 1
    13/09/26 13:44:43 ERROR exec.Task: Obtaining error information
    13/09/26 13:44:43 ERROR exec.Task:
    Task failed!
    Task ID:
      Stage-1

    Logs:

    13/09/26 13:44:43 ERROR mr.ExecDriver: Execution failed with exit
status: 1

It had been fine until I updated to the latest Trunk code two days ago.

I looked up, the AlreadyExistsException.java is there before build,
AlreadyExistsException.class is there after build and \*metastore*.jar is
there too.

Could anyone please tell me where else should I look into?

Thank you!