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

Stephan Ewen commented on FLINK-952:
------------------------------------

That is true, there is actually a reason for that:

The data is treated as the type declared in the signature, because the type 
analysis and serializer generation happens at the "pre-flight" time. So if you 
have a MapFunction<A> and give it a B (subclass of A), it will treat the B as 
an A at runtime.

> TypeExtractor requires the argument types of the UDF to be identical to the 
> parameter types
> -------------------------------------------------------------------------------------------
>
>                 Key: FLINK-952
>                 URL: https://issues.apache.org/jira/browse/FLINK-952
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>
> The TypeExtractor checks for each operation whether the DataSet element types 
> are valid arguments for the UDF. However, it checks for strict equality 
> instead of a subtype relationship. Thus the following computation would not 
> work even though it should semantically be correct.
> DataSet[B].map(new MapFunction[A,A](){ A map(A x)}) with B being a sub class 
> of A.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to