[ 
https://issues.apache.org/jira/browse/FLINK-3444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15261783#comment-15261783
 ] 

Till Rohrmann commented on FLINK-3444:
--------------------------------------

Since all instances are sub classes of {{Object}}, the nearest common super 
type would be {{Object}} in the worst case. That's exactly what happened if you 
mixed {{Class<T>}} and {{ParentClass}} together.

How would the problem of two different interfaces be solved with an explicit 
{{Class<T>}} parameter?

> env.fromElements relies on the first input element for determining the 
> DataSet/DataStream type
> ----------------------------------------------------------------------------------------------
>
>                 Key: FLINK-3444
>                 URL: https://issues.apache.org/jira/browse/FLINK-3444
>             Project: Flink
>          Issue Type: Bug
>          Components: DataSet API, DataStream API
>    Affects Versions: 0.10.0, 1.0.0
>            Reporter: Vasia Kalavri
>             Fix For: 1.1.0
>
>
> The {{fromElements}} method of the {{ExecutionEnvironment}} and 
> {{StreamExecutionEnvironment}} determines the DataSet/DataStream type by 
> extracting the type of the first input element.
> This is problematic if the first element is a subtype of another element in 
> the collection.
> For example, the following
> {code}
> DataStream<Event> input = env.fromElements(new Event(1, "a"), new SubEvent(2, 
> "b"));
> {code}
> succeeds, while the following
> {code}
> DataStream<Event> input = env.fromElements(new SubEvent(1, "a"), new Event(2, 
> "b"));
> {code}
> fails with "java.lang.IllegalArgumentException: The elements in the 
> collection are not all subclasses of SubEvent".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to