You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Vladimir Matveev (Jira)" <ji...@apache.org> on 2023/04/17 22:47:00 UTC
[jira] [Created] (FLINK-31828) List field in a POJO data stream results in table program compilation failure
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)