You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Miguel Rui Pereira Marques (JIRA)" <ji...@apache.org> on 2017/08/24 22:37:00 UTC

[jira] [Updated] (FLINK-7490) UDF Agg throws Exception when flink-table is loaded with AppClassLoader

     [ https://issues.apache.org/jira/browse/FLINK-7490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Miguel Rui Pereira Marques updated FLINK-7490:
----------------------------------------------
    Affects Version/s: 1.4.0

> 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
>
> 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)