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

Nico Kruber closed FLINK-17171.
-------------------------------
    Resolution: Duplicate

> Blink planner fails to compile Table program with POJO source
> -------------------------------------------------------------
>
>                 Key: FLINK-17171
>                 URL: https://issues.apache.org/jira/browse/FLINK-17171
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner, Table SQL / Runtime
>    Affects Versions: 1.10.0
>            Reporter: Nico Kruber
>            Priority: Blocker
>         Attachments: error.log
>
>
> It seems as if FLINK-13993 made the Table API (Blink planner) unusable for 
> POJO sources where the POJO class is in user code.
> For 
> https://github.com/ververica/lab-sql-vs-datastream/blob/master/src/main/java/com/ververica/LateralTableJoin.java
>  I get the following Exception when I run it on a Flink 1.10.0 cluster (full 
> version attached):
> {code}
> 2020-04-15 17:19:15,561 ERROR 
> org.apache.flink.runtime.webmonitor.handlers.JarRunHandler    - Unhandled 
> exception.
> org.apache.flink.util.FlinkRuntimeException: 
> org.apache.flink.api.common.InvalidProgramException: Table program cannot be 
> compiled. This is a bug. Please file an issue.
> ...
> Caused by: org.codehaus.commons.compiler.CompileException: Line 28, Column 
> 175: Cannot determine simple type name "com"
> ...
>       at 
> org.apache.flink.table.runtime.generated.CompileUtils.doCompile(CompileUtils.java:78)
> {code}
> I enabled debug logs and this is what it is trying to compile:
> {code}
>         @Override
>         public void 
> processElement(org.apache.flink.streaming.runtime.streamrecord.StreamRecord 
> element) throws Exception {
>           org.apache.flink.table.dataformat.BaseRow in1 = 
> (org.apache.flink.table.dataformat.BaseRow) 
> (org.apache.flink.table.dataformat.BaseRow) 
> converter$15.toInternal((com.ververica.tables.FactTable.Fact) 
> element.getValue());
> ...
> {code}
> I use a standalone cluster and submit via web UI and also verified that my 
> jar file does not contain anything else but its compiled classes.
> This code is working fine inside the IDE and was also working with Flink 1.10 
> and VVP 2.0 which did not use a dedicated class loader for user code.
> My guess is that the (generated) code does not have access to 
> {{FactTable.Fact}} and the Janino compiler does not produce the right error 
> message seeing "com" as a primitive type instead.
> FLINK-7490 and FLINK-9220 seem related but too old (legacy planner).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to