[ 
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)

Reply via email to