[
https://issues.apache.org/jira/browse/HIVE-8646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14190656#comment-14190656
]
Ashutosh Chauhan commented on HIVE-8646:
----------------------------------------
[~navis] Your patch is useful, as you noted we dont want to have metastore
classes being referenced in Task classes. So, we should get this in regardless
of oozie problem.
But, I also wonder whats the need for that static block, anyway. Field is
already marked transient, which Kryo will already respect. For javaXML, even if
its get serialized, it should not be a problem, its just a boolean. Shall we
get rid of static block too?
> Hive class loading failure when executing Hive action via oozie workflows
> --------------------------------------------------------------------------
>
> Key: HIVE-8646
> URL: https://issues.apache.org/jira/browse/HIVE-8646
> Project: Hive
> Issue Type: Bug
> Affects Versions: 0.14.0
> Environment: Hadoop 2.6.0 + Hive 0.14 + Oozie 4.1
> Reporter: Venkat Ranganathan
> Attachments: HIVE-8646.1.patch.txt
>
>
> When running Hive actions with Oozie we hit this issue sometimes. What is
> interesting is that we have all the necessary jars in the classpath (or
> atleast are expected to be localized).
> This static initialization block is introduced by HIVE-3925.
> ==
> Exception in thread "main" java.lang.ExceptionInInitializerError
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:270)
> at org.apache.hadoop.util.RunJar.run(RunJar.java:214)
> at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
> Caused by: java.lang.TypeNotPresentException: Type
> org.apache.hadoop.hive.metastore.api.FieldSchema not present
> at
> sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
> at
> sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
> at
> sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
> at
> sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
> at
> sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
> at
> sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
> at
> sun.reflect.generics.repository.MethodRepository.getReturnType(MethodRepository.java:68)
> at java.lang.reflect.Method.getGenericReturnType(Method.java:245)
> at
> java.beans.FeatureDescriptor.getReturnType(FeatureDescriptor.java:370)
> at java.beans.Introspector.getTargetEventInfo(Introspector.java:996)
> at java.beans.Introspector.getBeanInfo(Introspector.java:417)
> at java.beans.Introspector.getBeanInfo(Introspector.java:163)
> at
> org.apache.hadoop.hive.ql.exec.PTFUtils.makeTransient(PTFUtils.java:267)
> at org.apache.hadoop.hive.ql.exec.Task.<clinit>(Task.java:53)
> ... 4 more
> Caused by: java.lang.ClassNotFoundException:
> org.apache.hadoop.hive.metastore.api.FieldSchema
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:270)
> at
> sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
> ... 17 more
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)