You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@falcon.apache.org by "Peeyush Bishnoi (JIRA)" <ji...@apache.org> on 2016/06/15 07:53:09 UTC

[jira] [Commented] (FALCON-2031) Hcat Retention test cases are failing NoClassDefFoundError

    [ https://issues.apache.org/jira/browse/FALCON-2031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15331321#comment-15331321 ] 

Peeyush Bishnoi commented on FALCON-2031:
-----------------------------------------

On debugging and analyzing this issue it looks like that it has happened because libthrift*.jar is not available in classpath. On checking the workflow.xml for Feed Retention test case, I have found that in workflow.xml the "oozie.action.sharelib.for.java" has only "hcatalog" share lib. But it must contain "hive" share lib as well so that libthrift*.jar must get set in classpath.

So to fix this issue, we need to add the "oozie.action.sharelib.for.java" = "hcatalog,hive"  in eviction-action.xml .




> Hcat Retention test cases are failing NoClassDefFoundError
> ----------------------------------------------------------
>
>                 Key: FALCON-2031
>                 URL: https://issues.apache.org/jira/browse/FALCON-2031
>             Project: Falcon
>          Issue Type: Bug
>          Components: retention
>    Affects Versions: 0.9
>            Reporter: Peeyush Bishnoi
>            Assignee: Peeyush Bishnoi
>            Priority: Blocker
>             Fix For: trunk, 0.10
>
>
> Hcat Retention test cases are failing with NoClassDefFoundError when trying to use Hive-1.2.* . Please see the complete stack trace below:
> {noformat}
> Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.JavaMain], main() threw exception, java.lang.NoClassDefFoundError: org/apache/thrift/TBase
> org.apache.oozie.action.hadoop.JavaMainException: java.lang.NoClassDefFoundError: org/apache/thrift/TBase
> 	at org.apache.oozie.action.hadoop.JavaMain.run(JavaMain.java:59)
> 	at org.apache.oozie.action.hadoop.LauncherMain.run(LauncherMain.java:49)
> 	at org.apache.oozie.action.hadoop.JavaMain.main(JavaMain.java:35)
> 	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.oozie.action.hadoop.LauncherMapper.map(LauncherMapper.java:242)
> 	at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54)
> 	at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453)
> 	at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343)
> 	at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
> 	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:1724)
> 	at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
> Caused by: java.lang.NoClassDefFoundError: org/apache/thrift/TBase
> 	at java.lang.ClassLoader.defineClass1(Native Method)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
> 	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> 	at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
> 	at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
> 	at java.lang.Class.getConstructor0(Class.java:3075)
> 	at java.lang.Class.newInstance(Class.java:412)
> 	at org.apache.falcon.util.ReflectionUtils.getInstanceByClassName(ReflectionUtils.java:46)
> 	at org.apache.falcon.util.ReflectionUtils.getInstance(ReflectionUtils.java:34)
> 	at org.apache.falcon.catalog.CatalogServiceFactory.getCatalogService(CatalogServiceFactory.java:55)
> 	at org.apache.falcon.entity.CatalogStorage.discoverPartitionsToDelete(CatalogStorage.java:507)
> 	at org.apache.falcon.entity.CatalogStorage.evict(CatalogStorage.java:466)
> 	at org.apache.falcon.retention.FeedEvictor.run(FeedEvictor.java:76)
> 	at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
> 	at org.apache.falcon.retention.FeedEvictor.main(FeedEvictor.java:52)
> 	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.oozie.action.hadoop.JavaMain.run(JavaMain.java:56)
> 	... 15 more
> Caused by: java.lang.ClassNotFoundException: org.apache.thrift.TBase
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	... 44 more
> {noformat}
> This issue has been identified by [~murali.msse] while running a regression with latest Hive version.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)