Vladimir Matveev created FLINK-31828:
----------------------------------------

             Summary: List field in a POJO data stream results in table program 
compilation failure
                 Key: FLINK-31828
                 URL: https://issues.apache.org/jira/browse/FLINK-31828
             Project: Flink
          Issue Type: Bug
          Components: Table SQL / Runtime
    Affects Versions: 1.16.1
         Environment: Java 11
Flink 1.16.1
            Reporter: Vladimir Matveev
         Attachments: MainPojo.java, generated-code.txt, stacktrace.txt

Suppose I have a POJO class like this:

{code:java}
public class Example {
    private String key;
    private List<Map<String, String>> values;

    // getters, setters, equals+hashCode omitted
}
{code}

When a DataStream with this class is converted to a table, and some operations 
are performed on it, it results in an exception which explicitly says that I 
should file a ticket:

{noformat}
Caused by: org.apache.flink.api.common.InvalidProgramException: Table program 
cannot be compiled. This is a bug. Please file an issue.
{noformat}

Please find the example Java code and the full stack trace attached.

>From the exception and generated code it seems that Flink is upset with the 
>list field being treated as an array - but I cannot have an array type there 
>in the real code.

Also note that if I _don't_ specify the schema explicitly, it then maps the 
{{values}} field to a `RAW('java.util.List', '...')` type, which also does not 
work correctly and fails the job in case of even simplest operations like 
printing.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to