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)