Sam chen created MESOS-6114:
-------------------------------
Summary: 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: 1.0.1, 1.0.0, 0.28.2, 0.28.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
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)