[ https://issues.apache.org/jira/browse/CALCITE-3745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated CALCITE-3745: ------------------------------------ Labels: pull-request-available (was: ) > UnitCompiler can not find required class information. > ----------------------------------------------------- > > Key: CALCITE-3745 > URL: https://issues.apache.org/jira/browse/CALCITE-3745 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.21.0 > Environment: > stacktrace: > {code:java} > Caused by: org.codehaus.commons.compiler.CompileException: Line 687, Column > 40: Cannot determine simple type name "com"Caused by: > org.codehaus.commons.compiler.CompileException: Line 687, Column 40: Cannot > determine simple type name "com" at > org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:12124) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6746) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6507) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6520) at > org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:6486) at > org.codehaus.janino.UnitCompiler.access$13800(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6394) > at > org.codehaus.janino.UnitCompiler$21$1.visitReferenceType(UnitCompiler.java:6389) > at org.codehaus.janino.Java$ReferenceType.accept(Java.java:3917) at > org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6389) at > org.codehaus.janino.UnitCompiler$21.visitType(UnitCompiler.java:6382) at > org.codehaus.janino.Java$ReferenceType.accept(Java.java:3916) at > org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at > org.codehaus.janino.UnitCompiler.getType2(UnitCompiler.java:7034) at > org.codehaus.janino.UnitCompiler.access$16900(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6442) > at > org.codehaus.janino.UnitCompiler$21$2.visitNewClassInstance(UnitCompiler.java:6403) > at org.codehaus.janino.Java$NewClassInstance.accept(Java.java:5179) at > org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6403) at > org.codehaus.janino.UnitCompiler$21.visitRvalue(UnitCompiler.java:6382) at > org.codehaus.janino.Java$Rvalue.accept(Java.java:4105) at > org.codehaus.janino.UnitCompiler.getType(UnitCompiler.java:6382) at > org.codehaus.janino.UnitCompiler.findIMethod(UnitCompiler.java:8939) at > org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5060) at > org.codehaus.janino.UnitCompiler.access$9100(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4421) > at > org.codehaus.janino.UnitCompiler$16.visitMethodInvocation(UnitCompiler.java:4394) > at org.codehaus.janino.Java$MethodInvocation.accept(Java.java:5062) at > org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at > org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at > org.codehaus.janino.UnitCompiler.compileBoolean2(UnitCompiler.java:4147) at > org.codehaus.janino.UnitCompiler.access$6600(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3955) > at > org.codehaus.janino.UnitCompiler$14.visitBinaryOperation(UnitCompiler.java:3933) > at org.codehaus.janino.Java$BinaryOperation.accept(Java.java:4853) at > org.codehaus.janino.UnitCompiler.compileBoolean(UnitCompiler.java:3933) at > org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:4709) at > org.codehaus.janino.UnitCompiler.access$8800(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4418) > at > org.codehaus.janino.UnitCompiler$16.visitConditionalExpression(UnitCompiler.java:4394) > at org.codehaus.janino.Java$ConditionalExpression.accept(Java.java:4504) at > org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at > org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2580) at > org.codehaus.janino.UnitCompiler.access$2700(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1503) > at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1487) > at > org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:3511) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) at > org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) at > org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357) > at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:981) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:951) at > org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:409) > at > org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:406) > at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:1149) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) at > org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5422) at > org.codehaus.janino.UnitCompiler.access$9500(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$16.visitNewAnonymousClassInstance(UnitCompiler.java:4430) > at > org.codehaus.janino.UnitCompiler$16.visitNewAnonymousClassInstance(UnitCompiler.java:4394) > at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:5227) > at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at > org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2649) at > org.codehaus.janino.UnitCompiler.access$2800(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$6.visitReturnStatement(UnitCompiler.java:1504) > at > org.codehaus.janino.UnitCompiler$6.visitReturnStatement(UnitCompiler.java:1487) > at org.codehaus.janino.Java$ReturnStatement.accept(Java.java:3552) at > org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) at > org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) at > org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357) > at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:981) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:951) at > org.codehaus.janino.UnitCompiler.access$200(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:409) > at > org.codehaus.janino.UnitCompiler$2.visitAnonymousClassDeclaration(UnitCompiler.java:406) > at org.codehaus.janino.Java$AnonymousClassDeclaration.accept(Java.java:1149) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) at > org.codehaus.janino.UnitCompiler.compileGet2(UnitCompiler.java:5422) at > org.codehaus.janino.UnitCompiler.access$9500(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$16.visitNewAnonymousClassInstance(UnitCompiler.java:4430) > at > org.codehaus.janino.UnitCompiler$16.visitNewAnonymousClassInstance(UnitCompiler.java:4394) > at org.codehaus.janino.Java$NewAnonymousClassInstance.accept(Java.java:5227) > at org.codehaus.janino.UnitCompiler.compileGet(UnitCompiler.java:4394) at > org.codehaus.janino.UnitCompiler.compileGetValue(UnitCompiler.java:5575) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:2580) at > org.codehaus.janino.UnitCompiler.access$2700(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1503) > at > org.codehaus.janino.UnitCompiler$6.visitLocalVariableDeclarationStatement(UnitCompiler.java:1487) > at > org.codehaus.janino.Java$LocalVariableDeclarationStatement.accept(Java.java:3511) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:1487) at > org.codehaus.janino.UnitCompiler.compileStatements(UnitCompiler.java:1567) at > org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:3388) at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1357) > at > org.codehaus.janino.UnitCompiler.compileDeclaredMethods(UnitCompiler.java:1330) > at org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:822) at > org.codehaus.janino.UnitCompiler.compile2(UnitCompiler.java:432) at > org.codehaus.janino.UnitCompiler.access$400(UnitCompiler.java:215) at > org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:411) > at > org.codehaus.janino.UnitCompiler$2.visitPackageMemberClassDeclaration(UnitCompiler.java:406) > at > org.codehaus.janino.Java$PackageMemberClassDeclaration.accept(Java.java:1414) > at org.codehaus.janino.UnitCompiler.compile(UnitCompiler.java:406) at > org.codehaus.janino.UnitCompiler.compileUnit(UnitCompiler.java:378) at > org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:237) at > org.codehaus.janino.SimpleCompiler.compileToClassLoader(SimpleCompiler.java:465) > at > org.codehaus.janino.ClassBodyEvaluator.compileToClass(ClassBodyEvaluator.java:313) > at org.codehaus.janino.ClassBodyEvaluator.cook(ClassBodyEvaluator.java:235) > at org.codehaus.janino.SimpleCompiler.cook(SimpleCompiler.java:207) at > org.codehaus.commons.compiler.Cookable.cook(Cookable.java:50) at > org.codehaus.janino.ClassBodyEvaluator.createInstance(ClassBodyEvaluator.java:347) > {code} > Reporter: SHEN KAI > Priority: Major > Labels: pull-request-available > > calcite uses specific classloader in Unitcompiler, Usually is the launcher's > default class loader. If user run sql with UDF, and the UDF class is loaded > by a child classloader, calcite's janino compiler throw a CompileException > error. > can calcite uses Thread.currentThread().getContextClassloader() to get the > classloader in compiler? -- This message was sent by Atlassian Jira (v8.3.4#803005)