Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-6114

ClassNotFoundException shows when loading java class in framework

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Accepted
    • Major
    • Resolution: Unresolved
    • 0.28.1, 0.28.2, 1.0.0, 1.0.1
    • None
    • framework
    • 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

    Description

      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
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            usultrared@gmail.com Sam chen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: