[ https://issues.apache.org/jira/browse/MESOS-6114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15457673#comment-15457673 ]
Sam chen commented on MESOS-6114: --------------------------------- Anyone can help to review this? thanks > ClassNotFoundException shows when loading java class in framework > ----------------------------------------------------------------- > > Key: MESOS-6114 > URL: https://issues.apache.org/jira/browse/MESOS-6114 > Project: Mesos > Issue Type: Bug > Components: framework > Affects Versions: 0.28.1, 0.28.2, 1.0.0, 1.0.1 > Environment: Mesos 0.28.1 > Marathon 1.1.1 > os redhat-7.2 (x86-64) > kernel 3.10.0-327 (x86-64) > Java openjdk-1.8.0_65 > Reporter: Sam chen > Labels: patch > Fix For: 0.28.3 > > > 1. When we are trying to develop "scheduler" and "executor" using java > 2. When we use our own java ClassLoader > 3. It throws "ClassNotFoundException" when loading java class > After we investigated Mesos, it created jvm via jni. While > attachcurrentthread, it did not mulipulate context. The below is error log: > I0823 05:54:38.074373 8 logging.cpp:188] INFO level logging started! > I0823 05:54:38.076400 8 exec.cpp:143] Version: 0.28.1 > I0823 05:54:38.080590 52 exec.cpp:217] Executor registered on slave > bbbb326a-43cc-42f7-8e55-648bdc8cc9d8-S12 > Exception in thread "Thread-17" java.lang.NoClassDefFoundError: > com/googlecode/aviator/ClassExpression > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:760) > at java.lang.ClassLoader.defineClass(ClassLoader.java:642) > at > com.googlecode.aviator.parser.AviatorClassLoader.defineClass(AviatorClassLoader.java:35) > at > com.googlecode.aviator.code.asm.ASMCodeGenerator.getResult(ASMCodeGenerator.java:664) > at > com.googlecode.aviator.code.OptimizeCodeGenerator.getResult(OptimizeCodeGenerator.java:367) > at > com.googlecode.aviator.parser.ExpressionParser.parse(ExpressionParser.java:681) > at > com.googlecode.aviator.AviatorEvaluator.innerCompile(AviatorEvaluator.java:468) > at > com.googlecode.aviator.AviatorEvaluator.compile(AviatorEvaluator.java:447) > at > com.googlecode.aviator.AviatorEvaluator.compile(AviatorEvaluator.java:495) > at com.cusi.babel.rwsplit.sync.convertor.ExprRule.<init>(ExprRule.java:20) > at > com.cusi.babel.rwsplit.sync.convertor.ConvertRuleFactory.createConvertRule(ConvertRuleFactory.java:15) > at > com.cusi.babel.rwsplit.sync.convertor.ColumnRule.<init>(ColumnRule.java:29) > at com.cusi.babel.rwsplit.sync.convertor.TaskRule.<init>(TaskRule.java:27) > at com.cusi.babel.rwsplit.sync.task.Task.<init>(Task.java:27) > at com.cusi.babel.rwsplit.sync.Engine.startTask(Engine.java:103) > at > com.cusi.babel.rwsplit.sync.mesos.SyncExecutor.launchTask(SyncExecutor.java:82) > Caused by: java.lang.ClassNotFoundException: > com.googlecode.aviator.ClassExpression > at java.lang.ClassLoader.findClass(ClassLoader.java:530) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > ... 17 more > I0823 05:54:38.873301 52 exec.cpp:425] Deactivating the executor libprocess -- This message was sent by Atlassian JIRA (v6.3.4#6332)