Miguel Rui Pereira Marques created FLINK-7490:
-------------------------------------------------
Summary: 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
Reporter: Miguel Rui Pereira Marques
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)