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

Reply via email to