[ https://issues.apache.org/jira/browse/FLINK-7490?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16253580#comment-16253580 ]
ASF GitHub Bot commented on FLINK-7490: --------------------------------------- Github user twalthr commented on a diff in the pull request: https://github.com/apache/flink/pull/5018#discussion_r151147760 --- Diff: flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/DataSetAggFunction.scala --- @@ -46,7 +46,7 @@ class DataSetAggFunction( LOG.debug(s"Compiling AggregateHelper: $genAggregations.name \n\n " + s"Code:\n$genAggregations.code") val clazz = compile( - getClass.getClassLoader, + getRuntimeContext.getUserCodeClassLoader, --- End diff -- Couldn't we just use `Thread.currentThread().getContextClassLoader` everywhere? > UDF Agg throws Exception when flink-table is loaded with AppClassLoader > ----------------------------------------------------------------------- > > Key: FLINK-7490 > URL: https://issues.apache.org/jira/browse/FLINK-7490 > Project: Flink > Issue Type: Bug > Components: Table API & SQL > Affects Versions: 1.3.1, 1.4.0 > Reporter: Miguel Rui Pereira Marques > Assignee: Fabian Hueske > Priority: Blocker > Fix For: 1.4.0 > > > When a UDF aggregation for the Batch Table API is defined in the > FlinkUserCodeClassLoader and the Table API itself is loaded in the > AppClassLoader (the jar is included in the lib directory) this exception is > triggered: > {panel:title=Exception} > java.lang.Exception: The user defined 'open()' method caused an exception: > Table program cannot be compiled. This is a bug. Please file an issue. > at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:485) > at > org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:355) > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:712) > at java.lang.Thread.run(Thread.java:748) > Caused by: org.apache.flink.api.common.InvalidProgramException: Table program > cannot be compiled. This is a bug. Please file an issue. > at > org.apache.flink.table.codegen.Compiler$class.compile(Compiler.scala:36) > at > org.apache.flink.table.runtime.aggregate.DataSetAggFunction.compile(DataSetAggFunction.scala:35) > at > org.apache.flink.table.runtime.aggregate.DataSetAggFunction.open(DataSetAggFunction.scala:49) > at > org.apache.flink.api.common.functions.util.FunctionUtils.openFunction(FunctionUtils.java:36) > at org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:481) > ... 3 more > Caused by: org.codehaus.commons.compiler.CompileException: Line 5, Column 13: > Cannot determine simple type name "org" > at > org.codehaus.janino.UnitCompiler.compileError(UnitCompiler.java:11672) > at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6416) > at > org.codehaus.janino.UnitCompiler.getReferenceType(UnitCompiler.java:6177) > ... > {panel} > Upon inspecting the code I think this may be due to the usage of > 'getClass.getClassLoader' instead of > 'getRuntimeContext.getUserCodeClassLoader' as an argument 'compile' in the > method 'open' of class > org.apache.flink.table.runtime.aggregate.DataSetAggFunction. -- This message was sent by Atlassian JIRA (v6.4.14#64029)